问题
I do this in a UIViewController for one of my tabs:
self.title = @\"Welcome\";
However, it\'s overwriting whatever I have for the tabBarItem. I have tried:
self.tabBarItem.title = @\"Home\";
and
[self.tabBarItem initWithTitle:@\"Home\" image:[UIImage imageNamed:@\"iconHome.png\"] tag:0];
But still, self.title overwrites the tabBarItem, regardless of whether I am trying the two latter pieces of code after the title has been set. The code even runs without errors, but the self.tabBarItem.title
or initWithTitle
doesn\'t do anything?
回答1:
OK, I figured it out! Here's what I am doing:
self.title = @"Title for TabBarItem"; // TabBarItem.title inherits the viewController's self.title
self.navigationItem.title = @"Title for NavigationBar";
the navigationBar
would inherit self.title, unless otherwise set using self.navigationItem.title
回答2:
//set nav item title
self.navigationController.navigationBar.topItem.title = @"zurück";
this did it for me :=) (nothing of the above worked)
回答3:
Try:
[self setTitle:@"Welcome"];
UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Home" image:[UIImage imageNamed: image] tag:0];
[self setTabBarItem:item];
[item release];
回答4:
I was also facing the same issue, but i solve this issue like this. I set the title and image of tabBarItem right after i created them in appDelegate.
This is what i have done:
[viewController setTitle:@"controllerTitle"];
[[viewController tabBarItem] setTitle:@"Custome Title for tab"];
[[viewController tabBarItem] setImage:[UIImage imageNamed:@"tab.png"]];
来源:https://stackoverflow.com/questions/1540718/self-title-sets-navigationcontroller-and-tabbaritems-title-why