9

UINavigationBarアプリでを使用していUITabBarます。最初のタブでは、ナビゲーション バーのタイトルはデフォルトの背景色の白いタイトルとして適切に表示されますが、2 番目のタブでは同じように機能しません。タイトルの色やナビゲーション バーの色を変更するコードは使用していませんtintColor

最初のビュー:
http://img407.imageshack.us/img407/7192/4go.png

2 番目のビュー:

2 番目のビューのUINavigationBarタイトルがこの黒色で描かれているのはなぜですか?

4

6 に答える 6

26

UINavigationBar通常、タイトルのデフォルトの色は変更できません。UINavigationBar のタイトルの色を変更したい場合は、UINavigationBar をカスタマイズする必要があります。2番目のViewControllerのコードを追加して、理解を深めてください。

編集:

検索したところ、タイトルの色を変更できることがわかりましUINavigationBar

self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];

このコードはiOS5 以降で動作します。

于 2013-06-28T07:15:52.237 に答える
8

AppDelegate でこれを試してください:

[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
于 2014-03-06T02:21:55.237 に答える
7

これにより、色を変更できます

NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                        [UIColor whiteColor],UITextAttributeTextColor, 
                                        [UIColor blackColor],      UITextAttributeTextShadowColor, 
                                        [NSValue valueWithUIOffset:UIOffsetMake(-1, 0)], UITextAttributeTextShadowOffset, nil];

[[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];
于 2013-06-30T05:26:08.083 に答える
4

廃止されたため、iOS7 ではこのコードを使用してくださいUITextAttributeTextColor

self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor orangeColor] forKey:NSForegroundColorAttributeName];
于 2014-01-07T05:28:07.093 に答える