Ich habe eine iOS 7-Anwendung in XCode 5.0, die seltsames Verhalten zeigt beim Tippen auf die Suchleiste (UISearchBar
).Aktivieren Suchleiste nicht Navigationsleiste
Meine Anwendung verfügt über einen Navigationscontroller und einen Tab Bar Controller. Hier ist ein Beispiel dafür, was meine Main.Storyboard wie folgt aussieht:
[Navigation Controller] -> [Tab Bar Controller] -> [Tab Item #1]
|
-------------> [Tab Item #2]
Each [] is a view controller
Wenn ich meine Anwendung starten, ich sehe die Tab Item 1
mit den UISearchBar
wie im Screenshot unten gezeigt:
Wenn Ich tippe auf UISearchBar
, die Suchleiste wird an den oberen Bildschirmrand verschoben, aber die Navigationsleiste wird nicht ausgeblendet, und die Ansicht wird nicht nach oben verschoben. Dies bewirkt, dass die App wie folgt aussehen:
Als ich die Tab Bar Controller
aus dem Storyboard löschen und die Navigation Controller
direkt an Tab Item #1
die Navigationsleiste versteckt verbinden, wie erwartet.
Wie kann ich die Navigationsleiste ausblenden, wenn Sie auf die Suchleiste tippen? Um ein Beispiel für die Funktionalität zu erhalten, die ich reproduzieren möchte, klicken Sie auf die Suchleiste unter der Registerkarte "Kontakte" der Standardanwendung "Phone" von iOS7.
Möchten Sie wirklich, dass der Navigationscontroller den Tab-Bar-Controller enthält? Im Allgemeinen ist es umgekehrt. –
@nevanking - Ich hatte versucht, es anders zu machen und ich konnte es nicht zur Arbeit bringen. Die Navigationsleiste sollte die gesamte Anwendung umfassen, nicht nur die Ansicht "Tab Item # 1". Was ist der Grund dafür, umgekehrt zu wechseln? – Ian
Es ist nur der normale Weg, es zu tun. Sehen Sie sich die Musik-App oder die Uhr-App an. Sie könnten daran denken, jedem Register einen eigenen Navigationscontroller zu geben, der dann den Content-View-Controller enthält. –