2012-06-05 35 views

Odpowiedz

43
self.navigationController.navigationBar.topItem.title = @"YourTitle"; 
+0

Ten fragment kodu działa dokładna tak samo jak Mudit's, ale jest krótszy.Po prostu umieść go w viewWillAppear i jest idealny – mhorgan

+2

Mam zarówno navbar i tabbar i kiedy próbowałem edytować tytuł nav programowo z self.navigationItem.title lub self.navigationcontroller.title lub self.title, zmieniał wartości zarówno w tytule na pasku nawigacyjnym, jak i na pierwszej karcie na pasku zakładek.Ta linia zmienia tylko pasek nawigacji.Tylko na przyszłość dla osób mających takie same problemy :) – Pruthvid

-2

Spróbuj z tym:

[navigationController setTitle:@"Title"]; 
+0

nie działa dla mnie :( – mhorgan

+0

Nie świetnym przykładem jak 'navigationController' jest prawdopodobnie zmienną instancji, który nie jest tu wspólny mecz. – mylogon

12

Najpierw sprawdź indeks regulatora prądu na stosie nawigacji poprzez

NSLog(@"%@", self.navigationController.viewControllers); 

po znalezieniu indeks bieżącego ViewController powiedzmy 1.

UINavigationController *navCon = (UINavigationController*) [self.navigationController.viewControllers objectAtIndex:1]; 
    navCon.navigationItem.title = @"Hello"; 
+0

Dzięki, udało się ustawić tytuł paska nawigacji, ale zamiast ustawić tytuł tylko jednej strony, chciałbym, aby miał inny tytuł dla każdej karty. Próbowałem użyć powyższej poprawki na dwóch różnych kartach, ale jakakolwiek karta, którą kliknę jako ostatnią, zmienia na stałe tytuł paska nawigacji na tę. Więc nawet jeśli załaduję drugą kartę, tytuł się nie zmieni. Masz pomysł, jak to naprawić? – mhorgan

+2

w viewWillAppear tego kontrolera można zastosować ten sam proces. –

+0

Geniuszu, teraz działa idealnie. Dzięki – mhorgan

25

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

+0

To działało dla mnie! Super łatwe. dzięki! –

+0

Dziękuję bardzo, że działa jak urok :) – swiftBoy

+0

Idealny. I proste. – jenjenut233

5

można użyć zbudowany w sposób setTitle teraz w Xcode

[self setTitle:@"title"]
lub
[email protected]"title"

wewnątrz jego viewController.

+0

ah aththada: D maru ahh –

+0

ta metoda zmieni tytuł pozycji na pasku kart, niezbyt dobrze – jk2K

+0

czy możemy zwiększyć rozmiar tytułu ??? – SANTOSH

1

Swift 2,2

navigationController?.navigationBar.topItem?.title = "Superman title" 
Powiązane problemy