Ich habe eine universelle App und verwende auf der iPad-Version UISplitViewController
eine Benutzeroberfläche, die der Mail-App ähnelt.
Ich hatte Probleme beim Verschieben neuer Detailansichten, daher habe ich mich für eine entschieden, UINavigationController
damit ich die Ansichten nach Bedarf einfach verschieben und öffnen kann. Ich möchte jedoch weder die Navigationsansicht noch eine Symbolleiste verwenden. Aber egal was ich mache, ich kann die Navigationsleiste nicht ausblenden.
Ich habe versucht, das Kontrollkästchen "Navigationsleiste anzeigen" in IB zu deaktivieren, und ich habe auch versucht, Folgendes einzustellen:
[self.navigationController setNavigationBarHidden:YES];
in der viewDidLoad
/ viewDidAppear
/ viewWillAppear
. Ich habe es auch in jeder der Ansichten versucht, die gepusht werden. Nichts funktioniert.
Fehlt mir hier etwas? Ist es möglich, eine UINavigationController
ohne Symbolleiste oder Navigationsleiste zu haben?
quelle
self
eine Instanz?Antworten:
Sie sollten in der Lage sein, Folgendes zu tun:
Dabei ist self.navigationController (offensichtlich) eine Instanz von UINavigationController. Scheint für mich zu funktionieren, aber ich habe es nur kurz getestet, bevor ich es gepostet habe.
quelle
- (void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBar.hidden = YES; }
und es funktioniertWenn Sie keine Navigationsleiste möchten und der Inhalt an die Stelle angepasst werden soll, an der sich die Navigationsleiste normalerweise befindet, sollten Sie verwenden
Dies ergibt ein Ergebnis wie folgt:
Während
self.navigationController.navigationBar.hidden = YES;
gibt Ihnen einen Platz, wo die Navigationsleiste sein sollte. So was:quelle
In Xcode 4.3.2:
Unter der Kategorie Navigationscontroller haben Sie zwei Kontrollkästchen:
[] Zeigt die Navigationsleiste an
[] Zeigt die Symbolleiste an
Arbeitete für mich ...
quelle
Swift 4
Ich verstecke es in viewWillAppear
Dann können Sie es zurücksetzen, wenn Sie einen Segue drücken (wenn Sie die Zurück-Taste in der nächsten Ansicht haben möchten).
quelle
Swift 3 programmgesteuert
oder
Hinweis: Ich habe keinen Unterschied zwischen diesen beiden Testansätzen unter iOS 10 festgestellt.
quelle
Alle diese Antworten lassen oben immer noch ein Leerzeichen für die Statusleiste - fügen Sie diese Zeile hinzu, um auch diese zu entfernen:
quelle