Benutzerdefinierte Schaltfläche "zurück" für NavigationController für jeden Bildschirm
Habe ich versucht, eine Unterklasse der Klasse UINavigationController zum ändern Dinge wie Hintergrundbild, navigation bar, die Größe, die zurück-Taste, Pünktchen schriftart und so weiter.
Nach ein paar Stunden und viel Lesen habe ich verstanden, dass ich nicht eine Unterklasse der Klasse UINavigationController...
Hätte ich gern ein bestimmtes design und übertragen Sie das design auf allen Bildschirmen, die meine benutzerdefinierte NavigationController...
Bisher habe ich noch nicht geschafft hat, irgendeine elegante Lösung für dieses, die meisten Lösungen basieren auf der Konfiguration etwas für die Ansicht in der nächste Bildschirm wird nur (nächste Ansicht).
Wie kann ich das erreichen? Vielleicht mit Kategorien?
Vielen Dank im Voraus.
- Wie viele
UINavigationController
Instanzen, die Sie haben? - Nur eine Instanz.
- also warum dann die Mühe mit komplizierten Strategien?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zeige ich code für benutzerdefinierte leftbarbutton von
UINavigationcontroller
. Sie können fügen Sie diesen code in jedem view-controller und für beide Taster( rechts und Links)//oder
Hoffe, das wird dir helfen..
Ja @Nit Recht ist, das ist die Art und Weise anpassen, die
UINavigationController
, aber wenn Sie nicht wollen, es zu tun für jedenUIViewController
Sie haben, können Sie eineUIViewControllerBase
Klasse, welche eine Unterklasse vonUIViewController
und inviewDidLoad
- Methode, stellen Sie alle buttons die Art und Weise @Nit beschrieben hat und dann machen alleUIViewController
müssen Sie eine Unterklasse von IhremUIViewControllerBase
Klasse.Wenn Sie möchten, fügen Sie eine benutzerdefinierte Schaltfläche zurück, um uinavigationcontroller, die Sie verwenden sollten navigationItem.backBarButtonItem und implementieren Sie in der Klasse, wo Sie initialisieren der uinavigationcontroller.
Beispiel :-
Ich skizziert habe meine Lösung in dieser Antwort: https://stackoverflow.com/a/16831482/171933
Im Grunde erstellen Sie eine Kategorie UIViewController und der Aufruf einer einzigen Methode in jedem
viewWillAppear
- Methode Ihres view-Controller.