self.title устанавливает заголовок navigationController и tabBarItem? Зачем? - PullRequest
57 голосов
/ 09 октября 2009

Я делаю это в UIViewController для одной из моих вкладок:

self.title = @"Welcome";

Тем не менее, он перезаписывает все, что у меня есть для tabBarItem. Я пробовал:

self.tabBarItem.title = @"Home";

и

[self.tabBarItem initWithTitle:@"Home" image:[UIImage imageNamed:@"iconHome.png"] tag:0];

Но, тем не менее, self.title перезаписывает tabBarItem, независимо от того, пробую ли я два последних куска кода после заголовка. Код даже работает без ошибок, но self.tabBarItem.title или initWithTitle ничего не делает?

Ответы [ 4 ]

166 голосов
/ 20 октября 2009

ОК, я понял это! Вот что я делаю:

self.title = @"Title for TabBarItem"; // TabBarItem.title inherits the viewController's self.title
self.navigationItem.title = @"Title for NavigationBar";

navigationBar будет наследовать self.title, если не установлено иное с помощью self.navigationItem.title

54 голосов
/ 14 марта 2011
//set nav item title
self.navigationController.navigationBar.topItem.title = @"zurück";

это сделало это для меня: =) (ничего из вышеперечисленного не сработало)

0 голосов
/ 30 августа 2010

Я тоже столкнулся с той же проблемой, но я решаю эту проблему следующим образом. Я установил заголовок и изображение tabBarItem сразу после того, как создал их в appDelegate.

Вот что я сделал:

[viewController setTitle:@"controllerTitle"];
[[viewController tabBarItem] setTitle:@"Custome Title for tab"];
[[viewController tabBarItem] setImage:[UIImage imageNamed:@"tab.png"]];
0 голосов
/ 09 октября 2009

Попробуйте:

[self setTitle:@"Welcome"];

UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Home" image:[UIImage imageNamed: image] tag:0];
[self setTabBarItem:item];
[item release];
...