UIBarButtonItem Titel Zu Ändern
Habe ich Folgendes UIBarButton Item:
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0f, 100.0f, 45.0f, 30.0f)];
[backButton setBackgroundImage:backButtonImage forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchDown];
backButton.titleLabel.text = @"Back";
backButton.titleLabel.font = [UIFont fontWithName:@"texgyreadventor-regular.otf" size:20.0f];
backButton.titleLabel.textColor = [UIColor whiteColor];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
_backItem = backItem;
In eine andere Methode, habe ich es auf die Navigationsleiste wie folgt:
[self.navigationItem setLeftBarButtonItem:_backItem];
Bisher funktioniert alles wie erwartet. Aber richtig, bevor ich es auf die Navigationsleiste oben, würde ich mag, um den text zu ändern. Hier ist eines der Dinge, die ich versucht zu tun:
self.navigationItem.leftBarButtonItem.title = @"NEW TITLE";
Diese jedoch funktioniert nicht. Wie kann ich einen Titel während der Laufzeit on-the-fly?
- Tun
[self setNeedsDisplay]
- Das muss ein
drawRect
Methode... Also was redest du da? - Eine andere Lösung ist, dass man einen NSMutableString Global (Class-Ebene). Setzen Sie 'Zurück' in string und übergeben Sie an die Beschriftung der Schaltfläche und gerade vor dem hinzufügen ändern Sie die Zeichenfolge ersetzen Zeichenfolge, die mit 'Neue Titel'.
- es ist nicht ein Rennen gegen Ineffizienz.
InformationsquelleAutor darksky | 2012-06-14
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auf die Schaltfläche erneut mit:
Sind Sie ab iOS Nayefc, ich sehe, Sie haben eine Menge Fragen in den letzten Tagen 🙂
Für alle, die sich (wie ich jetzt), in neueren iOS-Versionen der akzeptierten Antworten funktioniert nicht mehr. Es hat sich barButton.Titel, die ein Lesen-schreiben -
String?
(Swift) oderNSString
(in Obj-C).Statt
verwenden
UPDATE:
Wenn Sie möchten, den Titel zu ändern, bevor Sie es auf die nav-bar die folgenden
backButton
's Titel, die nicht auf der Navigationsleiste.setTitle
Hier ist der fix:
Den Staat definiert werden.
button
nicht auf den bar-button-item in der navigation bar, wie Sie denken würde. Standardmäßig behält es ein neues Objekt durch die definition des BOGENS. Zu machen, so Verhalten, wie Sie es haben wollen, müssen Sie__weak
auf Sie. Darüber hinausUIButton
s müssen, um einen Titel mit einem Staat. Diese Antwort wurde unterstützt von einem Apple-Ingenieur auf der WWDC - ich hatte jemand den ich kenne, gibt es Fragen, wie Schaltflächen und Titel der Arbeit Letzte Woche.