Ich verwende den folgenden Code, um meine navigationBar im detailViewController auszublenden (meine zweite Ansicht), und es funktioniert einwandfrei, wenn ich auf eines meiner Objekte vom MasterViewController (meiner ersten Ansicht) tippe.
%Vor%Allerdings, wenn ich die Tabelle Liste im MasterViewController mit searchDisplayController filtern und tippen Sie auf ein beliebiges Objekt aus dem Ergebnis, die navigationBar in der Detailansicht wird nicht versteckt ...
Muss ich die Navigationsleiste ausblenden, wenn ich den searchDisplayController verwende?
für Debug, ich setze den Breakpoint auf der Zeile von setNavigationBarHidden: YES, und auch wenn Ich gehe über Suchergebnis zum detailViewController, die Anwendung trifft die Zeile ..
Sie sollten diese Methode ausprobieren:
In diesem Controller, in dem Sie UISearchController *searchController
deklariert haben, sollten Sie zwei Methoden implementieren (nur als Beispiel):
Der obige Code kann Unterschiede aufweisen. Hauptpunkt in hidesNavigationBarDuringPresentation
-Eigenschaft (iOS 8.0 und höher). Versuche, damit zu spielen, und wende dich an hidesNavigationBarDuringPresentation = NO
, bevor du einen neuen Controller drückst. Nach diesen Manipulationen habe ich Gewinn gemacht: wenn UIViewController gedrückt wird, wird der Setzer setNavigationBarHidden:YES
arbeiten
Wenn Sie die Navigationsleiste ausblenden möchten, deaktivieren Sie in Ihrem MainWindow-Xib die Option "Navigationsleiste anzeigen" des Navigations-Controllers.
Dies wird die Navigationsleiste in Ihrem gesamten Projekt ausblenden. Wenn Sie die Navigationsleiste in einem beliebigen Controller anzeigen möchten, legen Sie in der ViewDidLoad-Methode dieses Controllers die Option "NavigationBar Hidden = NO" fest.
Sie sollten den Display Controller auf irgendeine Weise hacken, um die eingebaute navigationBar zu verbergen.
Hier ist die Antwort:
Tags und Links iphone xcode uisearchdisplaycontroller