Persistent rightBarButtonItem Eigenschaft von UINavigationItem

8

Das ist vielleicht eine blöde Frage, aber ist es möglich, ein rechtes UIBarButtonItem über mehrere Ansichten zu behalten, die von einem UINavigationController verwaltet werden? Ich habe eine Reihe von Ansichten, die oft das gleiche Recht haben UIBarButtonItem , aber wenn ich eine neue Ansicht auf meine UINavigationController schiebe, muss ich die Schaltfläche jedes Mal neu definieren, auch wenn sie sich nicht geändert hat. Meistens stört mich die auffällige Transitionsanimation von einer Ansicht zur nächsten, weil genau derselbe Knopf kurz ausblendet und dann wieder reinkommt, was unnötig ist, da es keine wirkliche visuelle Veränderung gibt. Sollte ich in Erwägung ziehen, einfach eine UIButton als Unteransicht meiner UINavigationBar hinzuzufügen und auf diese Weise einen "Rechtsbalken" -Effekt zu erzielen?

    
LucasTizma 29.04.2009, 15:01
quelle

2 Antworten

14

Wir haben das in unserer App gemacht. Wir haben ein einzelnes UIBarButtonItem erstellt, das wir bei der Navigation durch den Benutzer von einem UIViewController auf einen anderen umstellen. Der Trick bestand darin, UINavigationControllerDelegate, den navigationController: willShowViewController: animated: method zu verwenden. Wir setzen das rightBarButtonItem des ausgehenden UIViewControllers auf nil und das rightBarButtonItem des eingehenden Controllers auf Ihre Schaltfläche. Es ist ein Schmerz zu verwalten, aber es funktioniert.

    
Neil Mix 13.05.2009, 03:09
quelle
1

UIBarButtonItems können als eigenständige Instanzen in einer nib / xib-Datei erstellt werden. Wenn es nichts Besonderes gibt, das verhindert, dass Sie die Schaltfläche im Interface-Builder erstellen können, sollten Sie sie für jeden View-Controller, der die Schaltfläche wiederverwenden muss, mit der rightBarButtonItem-Eigenschaft des UINavigationItem verbinden. Keine objektive c benötigt.

    
matt giant 01.08.2009 09:50
quelle