2013-05-28 21 views
5

Osadziłem mój pierwszy widok w NavigationController, a następnie ustawiam segue jako push. Chcę zmienić w każdym widoku tytuł paska nawigacji, aby wyświetlić coś i zaktualizować go za pomocą mojego kodu. Próbowałem zadzwonić kontroler nawigacyjny tak:Chcesz zmienić tytuł NavigationItem

self.navigationController.navigationBar.topItem.title = @"YourTitle"; 

ale to nie będzie działać, jak mogę to zrobić?

Odpowiedz

13

kontroler nawigacyjny pobiera tytuł z viewcontroller tak to będzie wykonać zadanie

- (void)viewDidLoad { 

    [super viewDidLoad]; 
    self.title = @"Some Title"; 
} 
3

Działa to dla mnie:

self.navigationItem.title = @"YourTitle"; 

nadzieję, że to pomaga.

0

Można zastąpić tytuł widoku TOO:

UIView* titleView = [[UIView alloc] init]; 
[self.navigationItem setTitleView: titleView]; 
0

jeśli u tylko zmienić tytuł paska nawigacji następnie spróbuj tego na metodzie initwithnibname

 [email protected]"your title"; 

ale chcesz dać kolor lub rozmiar czcionki tytułu, a następnie chcesz go zwolnić:

 UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; 

     label.backgroundColor = [UIColor clearColor]; 
     label.font = [UIFont boldSystemFontOfSize:20.0]; 
     label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]; 
     label.textAlignment = UITextAlignmentCenter; 

     label.textColor = [UIColor blackColor]; 
     self.navigationItem.titleView = label; 
     label.text [email protected]"your title"; 
     [label sizeToFit]; 
2
self.title = @"My Title" 

Spowoduje to zmianę tytułu pasków nawigacji, a także elementów tytułowych odnoszących się do tego kontrolera widoku (np. pasek zakładek itp.)

self.navigationItem.title = @"My Title"; 

Spowoduje to zmianę tylko tytułu paska nawigacji dla bieżącego kontrolera widoku.

Powiązane problemy