Mam aplikację iOS 7 w kodzie XCode 5.0, która wykazuje dziwne zachowanie po dotknięciu paska wyszukiwania (UISearchBar
).Aktywacja paska wyszukiwania nie powoduje ukrycia paska nawigacji
Moja aplikacja zawiera kontroler nawigacyjny i kontroler paska kart. Oto przykład tego, co mój Main.Storyboard wygląda następująco:
[Navigation Controller] -> [Tab Bar Controller] -> [Tab Item #1]
|
-------------> [Tab Item #2]
Each [] is a view controller
Kiedy uruchomić mój wniosek, widzę Tab Item 1
z UISearchBar
jak pokazano na poniższym zrzucie ekranu:
Kiedy Wybieram UISearchBar
, pasek wyszukiwania przesuwa się na górę ekranu, ale pasek nawigacji nie ukrywa się, a widok nie "przesuwa się". To powoduje, że aplikację wyglądać następująco:
Kiedy usunąć Tab Bar Controller
z serii ujęć, a następnie podłącz Navigation Controller
bezpośrednio Tab Item #1
pasek nawigacyjny ukrywa, jak oczekiwano.
Jak ukryć pasek nawigacji po dotknięciu paska wyszukiwania? Aby zobaczyć przykład funkcji, którą zamierzam odtworzyć, kliknij pasek wyszukiwania na karcie "Kontakty" w domyślnej aplikacji "Telefon" na iOS7.
Czy naprawdę chcesz, aby kontroler nawigacyjny zawierał kontroler paska kart? Zasadniczo jest odwrotnie. –
@nevanking - Próbowałem zrobić to w inny sposób i nie mogłem go uruchomić. Pasek nawigacyjny powinien obejmować całą aplikację, a nie tylko widok "Tab. Nr 1". Jakie jest uzasadnienie zmiany na odwrót? – Ian
To po prostu bardziej normalny sposób na zrobienie tego. Spójrz na aplikację Muzyka lub aplikację Zegar. Możesz myśleć o nadaniu każdej karcie własnego kontrolera nawigacyjnego, który następnie zawiera kontroler widoku treści. –