web-dev-qa-db-ja.com

self.titleは、navigationControllerとtabBarItemのタイトルを設定しますか?どうして?

私はタブの1つのUIViewControllerでこれを行います:

self.title = @"Welcome";

ただし、tabBarItemにあるものはすべて上書きされます。私が試してみました:

self.tabBarItem.title = @"Home";

そして

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

それでも、self.titleは、後者の2つのコードを試しているかどうかに関係なく、tabBarItemを上書きしますafterタイトルが設定されています。コードはエラーなしで実行されますが、self.tabBarItem.titleまたはinitWithTitleは何もしませんか?

57
runmad

わかった、わかった!私がやっていることは次のとおりです。

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

特にself.navigationItem.titleを使用して設定しない限り、navigationBarはself.titleを継承します

166
runmad
//set nav item title
self.navigationController.navigationBar.topItem.title = @"zurück";

これは私のためにそれをしました:=)(上記のどれも機能しませんでした)

55
cV2

私も同じ問題に直面していましたが、この問題をこのように解決します。 appDelegateで作成した直後に、tabBarItemのタイトルと画像を設定します。

これは私がやったことです:

[viewController setTitle:@"controllerTitle"];
[[viewController tabBarItem] setTitle:@"Custome Title for tab"];
[[viewController tabBarItem] setImage:[UIImage imageNamed:@"tab.png"]];
0
itsaboutcode

試してください:

[self setTitle:@"Welcome"];

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