2009-06-09 10 views
1

Wie betitelt. Ich brauche eine Möglichkeit, den Pfeil auf UINavigationbar anzuzeigen, ohne einen Controller zu drücken. Der Grund, warum ich einen Controller nicht drücken kann, ist, weil ich die Tastatur während des Übergangs angezeigt halten muss.Gibt es eine Möglichkeit, die Pfeiltaste in UINavigationbar anzuzeigen, ohne einen Controller tatsächlich zu drücken?

So klarstellen: ich mit einem modal View-Controller starten (wo gibt es nichts auf der oberen linken bar) so -

alt text http://www.iphonefaq.org/images/archives/isms.jpg

Dann die obere Leiste auf einen Übergang, der so aussieht -

alt text http://cache.gizmodo.com/assets/images/gizmodo/2008/07/smsfreeiphone.png

Antwort

0

Es sieht aus wie Sie dies tun können, indem Sie den UINavigationItem für den aktuellen Bildschirm zu bekommen. Sie können es von der topItem Eigenschaft der UINavigationBar erhalten.

Sobald Sie die UINavigationItem haben, die Ihren aktuellen Titel darstellt, sollten Sie in der Lage sein, mit der backBarButtonItem Eigenschaft zu experimentieren, dann rufen Sie setHidesBackButton:animated:, um die Schaltfläche zurück anzuzeigen.

1

Sicher, Sie können das ziemlich einfach tun. Setzen Sie einfach das leftBarButtonItem Ihrer self.navigationItem auf eine Zurück-Schaltfläche.

+0

gibt es keine Möglichkeit, eine Schaltfläche „zurück“ zu erstellen oder zu setzen. Sie können nur quadratische Schaltflächen erstellen und festlegen. – erotsppa

0

Sie können * nicht * dynamisch die Backbutton auf der UINavigationItem-Instanz ändern, die zu der UIViewController-Instanz gehört, die gerade angezeigt wird. Der Backbutton, der angezeigt wird, ist der letzte, der vor der UIViewController-Instanz (und seinem UINAvigationItem) gesetzt wurde.

ABER, Sie können die Rücktaste ein-/ausblenden. Wie wäre es also mit der Einstellung der richtigen Schaltfläche, bevor die UIViewController-Instanz gedrückt und versteckt wird (viewControllerInstance.navigationItem.hidesBackButton = YES; "). Und dann" viewControllerInstance.navigationItem.hidesBackButton = NO; ", wenn Sie die Zurück-Schaltfläche anzeigen möchten.

Sie können natürlich ändern dynamisch die UINavigationItems und ihre backbuttons auf einem UINavigationBar, die Sie selbst erstellen (dh eine, die zu einer UINavigationController nicht gehört).

Verwandte Themen