Standardmäßig verwendet die Zurück-Schaltfläche als Text einen Titel eines Viewcontrollers. Kann ich Text auf der Zurück-Schaltfläche ändern, ohne den Titel eines Ansichts-Controllers zu ändern? Ich brauche dies, weil ich einen Ansichts-Controller habe, dessen Titel zu lang ist, um angezeigt zu werden, und in diesem Fall möchte ich nur "Zurück" als Beschriftung für die Schaltfläche "Zurück" anzeigen.
Ich habe Folgendes versucht, was nicht funktioniert hat:
self.navigationItem.leftBarButtonItem.title = @"Back";
Vielen Dank.
ios
iphone
cocoa-touch
uinavigationitem
Ilya Suzdalnitski
quelle
quelle
Antworten:
Versuchen
Ich fand das, indem ich mir die backBarButtonItem- Dokumente in Apples Dokumenten für UINavigationItem ansah .
quelle
Der Ansatz von Marc W hat großartig funktioniert, als ich herausgefunden habe, auf welchen Controller ich ihn anwenden soll: den, der umbenannt wird, nicht den oben genannten. Wenn dies also der Navigationsstapel ist:
... und Sie möchten einen kürzeren Titel für ControllerA in der Zurück-Schaltfläche angeben, die angezeigt wird, wenn ControllerB oben ist. Sie wenden die Eigenschaftsänderung auf ControllerA an .
Es ist also eher im Kontext von
self.title
, nicht wie bei den anderen Setzern für Links- / Rechts-Balkentasten.quelle
Sie können dies im Storyboard tun. Suchen Sie den Ansichts-Controller, zu dem Sie zurückkehren möchten (den mit dem langen Titel), wählen Sie das Navigationselement aus, öffnen Sie den Attributinspektor (Alt + Befehlstaste + 4) und fügen Sie den benutzerdefinierten Titel der Zurück-Schaltfläche ein.
quelle
Danke Marco ... das hat mir geholfen ...
Hier ist was ich getan habe.
Wenn Sie eine tableView verwenden, um zu verschiedenen Ansichten zu navigieren, geben Sie den folgenden Code ein:
In Ihrer
didSelectRowAtIndexPath
Methode ... des ersten Controllers ... Controller A.Wenn Sie zu Controller B navigieren, hat die Schaltfläche den Titel "Zurück".
quelle
Die Zurück-Schaltfläche zieht ihren Text aus dem Titel des übergeordneten Ansichts-Controllers.
Legen Sie im übergeordneten Ansichts-Controller (dem Ansichts-Controller, der angezeigt wird, wenn Sie auf die Schaltfläche Zurück tippen) einen eigenen Titel als gewünschten Text auf der Schaltfläche Zurück fest.
Nehmen wir zum Beispiel an, wir haben eine
RootViewController
Klasse. Wenn wir in der Tabellenansicht auf eine Zelle klicken, wird eine Instanz von gepushtSecondViewController
. Wir möchten, dass der Zurück-Button derSecondViewController
Instanz "Home" lautet.in der
viewDidLoad
Methode von RootViewController.m :in der
viewDidLoad
Methode von SecondViewController.m :Wenn Sie möchten, dass Ihre Zurück-Schaltfläche "Zurück" lautet, setzen Sie den Titel des übergeordneten Ansichts-Controllers auf
@"Back"
;quelle
Das funktioniert besser für mich. Versuchen :
quelle
Wenn Sie ein Storyboard verwenden:
Das ist es, viel Spaß ...
quelle
In MonoTouch funktioniert Folgendes (in ViewDidLoad des übergeordneten Controllers):
quelle
Das hat bei mir funktioniert.
quelle
Legen Sie in Ihrem übergeordneten Ansichts-Controller die Schaltfläche Zurück fest, wenn die Ansicht geladen wird:
Beachten Sie, dass wir nicht einbeziehen müssen
autorelease
am Ende nicht die neueste iOS-Version einbinden müssen.Hoffe das hilft!
quelle
[self.navigationController.navigationBar.backItem setTitle:@"back"];
Für mich geht das. Sie können "zurück" durch etwas anderes ersetzen.
quelle
Dieser hat für mich funktioniert, wenn Sie keinen Titel haben wollen!
quelle
quelle
Endlich wusste ich, warum diese Antworten bei mir zunächst nicht funktionierten. Ich habe den Titel im Storyboard festgelegt. Wenn ich den Titel auf Code setze. Es klappt!
quelle
Meine Lösung bestand darin, den Titel festzulegen, wenn der Ansichts-Controller auf den Navigationsstapel verschoben wird, und ihn mithilfe der Delegate-Methode zurückzusetzen, bevor Push-VC geschlossen wird:
Also habe ich die Titeländerung in den aufrufenden View Controller eingefügt, wenn ich den anderen View Controller wie folgt drücke:
und in der Delegate-Rückruffunktion (die ich in viewWillDissapear aufrufe):
quelle
Wenn Sie nicht nur den Text der Schaltfläche "Zurück" ändern und die ursprüngliche Form des linken Pfeils beibehalten möchten , sondern auch etwas tun möchten, wenn der Benutzer auf die Schaltfläche " Zurück " klickt, empfehlen wir Ihnen, sich in meinem " CustomNavigationController " umzuschauen .
quelle
// Sie können dies erreichen, indem Sie den Titel im vorherigen Ansichts-Controller wie unten gezeigt festlegen
quelle
Informationen zum Ändern des Titels der Zurück-Schaltfläche finden Sie im folgenden Code
quelle
Das hat bei mir funktioniert:
quelle