0

Ich habe UIViewController mit UINavigationBar als Subview. No UINavigationController ist beteiligt.iOS 11 - Zeige großen Titel auf UINavigationBar ohne UINavigationController

Ich versuche, große Titel anzuzeigen. Als docs directed uns zu tun:

myCustomNavigationBar.prefersLargeTitles = true 
myCustomNavigationItem.largeTitleDisplayMode = .always 

Aber es bleibt bei dem vorherigen Anzeigemodus (iOS 10 Navigationsmodus).

Wenn Sie den gleichen Code mit UINavigationController versuchen, funktioniert es wie erwartet. Ist das nicht möglich ohne UINavigationController oder komme ich nicht richtig an?

Antwort

1

Ich weiß nicht genau, an welcher Stelle in der Ansicht Lebenszyklus Sie diese Zeilen Code enthalten, aber wenn Sie sie innerhalb der viewWillAppear(_ animated: Bool) Methode ausführen, funktioniert es perfekt. Ich habe es auf Xcode 9 GM überprüft.

EDIT: Es tut mir leid, ich habe nicht gelesen, dass Sie keine UINavigationController verwenden. Eine UINavigationBar ohne UINavigationController haben keinen Sinn. Bitte fügen Sie Ihre UIViewController, um eine UINavigationController und Sie werden die Änderungen sehen Sie, wenn Sie diese Zeilen unter viewWillAppear(_ animated: Bool) Methode setzen

:)

+0

Altho gibt es eine gute eine Aufnahme von Gründen, warum nicht immer UINavigationController verwenden. Ich nahm deinen Ratschlag und schließlich machte es meine Architektur sogar noch besser :) –

+1

Hi wieder! Natürlich sage ich nicht, dass Sie immer einen UINavigationController verwenden sollten, um Ihre UIViewControllers in Ihren Apps zu verwalten. Ich habe gerade gesagt, dass wenn Sie auf eine instanced UINavigationBar von einem instanziierten UIViewController zugreifen möchten, Sie einen UINavigationController oben benötigen. Wie auch immer, danke für deinen Kommentar :) –

Verwandte Themen