iPhone - Ändern Sie die target-oder-Wahlschalter für die Back-Taste auf UINavigationController
Standard-Verhalten bei betätigung eines UIViewController auf einem UINavigationController ist für die OS-Anzeige ein zurück-button, erscheint die UIViewController wieder ab.
Ich den Wunsch haben, unterschiedliche Verhalten für das back-Taste (zurück zu gehen zwei Bildschirme) - ist es trotzdem kann ich tun, ohne meine eigene zurück-Taste mit benutzerdefinierten Grafik usw.
Dank 🙂
InformationsquelleAutor adam | 2009-10-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da ich die Hälfte vermutete ursprünglich, ist es nicht möglich, alle außergewöhnlich einfach Weg. Also dieselbe Methode gilt beim erstellen von benutzerdefinierten UIBarButtonItem, müssen nur die Quelle der zurück-Taste-Symbol von Google....
Mithilfe der "leftBarButtonItem" ermöglicht es Ihnen, das Ziel zu bestimmen, und der Selektor. Aber wenn Sie die "backBarButtonItem" auf der vorherigen Steuerung, das Ziel und Wähler werden ignoriert. Jedoch, die leftBarButtonItem nicht über den Links-Pfeil.
Etwas falsch mit UIViewController ist navigationItem Eigenschaft? Hier ist, wie bekomme ich die Schaltfläche "Abbrechen", zum Beispiel:
In der Eltern viewcontroller,
Wenn Sie eine Unterklasse Ihrer Navigations-Steuerung, Sie können implementieren, die popViewControllerAnimated: Methode, und wirft eine isKindOfClass: überprüfen Sie, um festzustellen, ob der view-controller, die Sie suchen, wird geknallt. Eg:
Dies bedeutet jedoch nicht Abbrechen, das eigentliche Tauchen in der view-controller (Rückgabe von null wird, Stoppt der controller knallen, aber dennoch verursachen die Navigationsleiste, um pop-es ist information, und KEINE Rückkehr zu den shouldPop: delegate-Methode der Navigationsleiste noch die pop-controller unabhängig. Ich habe gehört, dass das nur Auftritt, wenn mit einem Navigation-Controller, aber das habe ich noch nicht getestet).
Für Ihre situation allerdings, seit Sie wünschen, zu pop zwei view-Controllern zurück, könnten Sie möglicherweise entfernen Sie die zweite letzten view-controller navigation controller viewcontrollers Eigenschaft durch die Umwandlung des viewcontrollers zu einem nsmutablearray, entfernen Sie den controller, und dann die Umwandlung dieser nsmutablearray wieder in ein array, und wenn er, wie der navigation-controller ist viewcontrollers Eigenschaft. Ich habe noch nicht getestet, aber ich dachte, ich würde teilen die Idee.