Position der Navigationsleiste für modale Ansicht - iOS7
In einem navigation-controller, Sie bekommen automatisch die richtige Farbe und die position der navigation bar, wie erwartet.
wie diese
Aber in der modal-Ansicht, wenn Sie ziehen Sie in einer Navigationsleiste, können Sie positionieren Sie es rechts oben, die ist zu nah an den Frachtführer /battery info.
So können Sie ziehen Sie es nach unten, ich denke, wie weit so entspricht die position der automatisch eines erstellt, aber dann hast du eine Farb-Abweichung. Ich habe versucht, die änderung status bar Einstellungen bei der IB, nicht einen Unterschied machen.
Gibt es eine richtige Art und Weise zu tun, überwinden diese, wie in eine modal view Aussehen der automatisch generierten nav view.
Dank
InformationsquelleAutor der Frage DogCoffee | 2013-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der beste Weg, dies zu überwinden in iOS 7 ist durch Einhaltung der neuen
UIBarPositioningDelegate
Protokoll.Verbinden Sie die Stellvertretung Ihrer NavigationBar auf Ihre view-controller (set Ihres view-Controllers als delegate für die Navigationsleiste entweder über storyboard oder über code) entsprechen und das-Protokoll sowie durch die Durchführung der Methode
Können Sie entfernen Sie die Obere Lücke in der view-controller. Sie müssen legen Sie die Leiste 20 Punkte unterhalb der Oberkante
InformationsquelleAutor der Antwort Matt
Herausgefunden, die 3 Optionen für die Lösung dieses Problems.
Option 1: ändern Sie die Größe der Navigationsleiste
Option 2: Ausblenden der Statusleiste
Beispielsweise in der modal-Ansicht, wo Sie wollen, blenden Sie die Statusleiste
Fügen Sie diese Methode
In viewDidLoad hinzufügen
Wenn du jetzt entlassen, der modal-Ansicht, und Sie möchten, dass Ihre status-Leiste zurück. Fügen Sie diese in viewWillAppear
haben, und diese aber NICHT zurück dieses mal
Option 3: Einbetten in Nav Controller
Wählen Sie Ihr modal-Ansicht, so einbetten, dass in einem Navigation Controller.
InformationsquelleAutor der Antwort DogCoffee
In Swift:
Der beste Weg, dies zu überwinden in iOS 8.1 und Swift ist durch Einhaltung der neuen UIBarPositioningDelegate Protokoll.
Verbinden Sie die Stellvertretung Ihrer NavigationBar auf Ihre view-controller und entsprechen, Protokoll und durch den Aufruf der Methode:
Können Sie entfernen Sie die Obere Lücke in der view-controller. Sie müssen legen Sie die Leiste 20 Punkte unterhalb der oberen Kante.
InformationsquelleAutor der Antwort King-Wizard
Für Swift3 verwenden Sie folgenden..
InformationsquelleAutor der Antwort Susobhan Das
Nach ein paar versucht, move Navigation Bar paar Pixel nach unten in iOS 7, dies ist, was schließlich für mich gearbeitet:
Ich auch angepasst, der Status Bar Farbe, um besser mit meinem Inhalt:
InformationsquelleAutor der Antwort derekg
Erstellte ich ein Navigation-Controller gelöscht, die "Root-View-Controller" , erschien mit ihm.
Dann halten Sie Strg gedrückt, und ziehen Sie die "Navigation Controller" auf Ihre Anzeigen (löschen Sie die Navigationsleiste, die Sie manuell Hinzugefügt vor).
Setzen Sie den Navigation-Controller als "Initial View Controller" und es funktioniert gut für mich.
InformationsquelleAutor der Antwort philipzimmermann
Drehte ich "Use Autolayout" aus und es funktionierte für mich.
InformationsquelleAutor der Antwort Janes Oosthuizen