Frage

Dies kann eine dumme Frage, aber ist es möglich, eine richtige UIBarButtonItem zu halten über mehrere Ansichten von einer UINavigationController verwaltet? Ich habe eine Progression von Ansichten, die oft die gleiche Recht UIBarButtonItem teilen, aber wenn ich eine neue Sicht auf meinen UINavigationController schieben, ich habe die Taste jedes Mal neu zu definieren, auch wenn es sich nicht geändert hat. Meistens ist die spürbare Übergangs-Animation von einem Blick auf die nächste, was mich stört, weil die genaue kurz gleiche Taste dann in wieder ausgeblendet wird, was es nicht notwendig ist, da keine tatsächliche optische Veränderung ist. Sollte ich nur das Hinzufügen eines UIButton als Subview meiner UINavigationBar und erreichen auf diese Weise eine „richtige Bar-Taste“ -Effekt?

War es hilfreich?

Lösung

Wir haben dies in unserer App. Wir haben eine einzige UIBarButtonItem, die wir von einem UIViewController auf einen anderen als den Benutzer navigiert tauschen. Der Trick war, verwenden UINavigationControllerDelegate, die Navigation: willShowViewController: animierte: Methode. Wir setzen den scheidenden UIViewController des rightBarButtonItem auf Null und die eingehenden Controllers rightBarButtonItem auf den Button aus. Es ist ein Schmerz zu verwalten, aber es funktioniert.

Andere Tipps

UIBarButtonItems kann als Standalone-Instanzen in einer nib / xib-Datei erstellt werden. Wenn es nichts Besonderes los, dass Sie verhindert, dass in der Lage, auf den Button im Interface Builder zu bauen, sollten Sie es auf die rightBarButtonItem Eigenschaft des UINavigationItem für jeden View-Controller zu verbinden, die den Knopf wieder zu verwenden muss. Kein Ziel c erforderlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top