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