UINavigationBar
を持つアプリがあり、次のように色合いを黒に設定しました:
self.navigationController.navigationBar.tintColor = [UIColor blackColor];`
IOS 6でテストしましたが、黒です。ただし、iOS 7で同じアプリを試してみると、デフォルトのナビゲーションバーとして表示されます。
タイトルにあるように、機能していませんか?
BarTintColorプロパティを設定する必要があります。
Tint(barTintColor)フィールドを使用して、ナビゲーションバーの背景にカスタムの色合いを指定できます。デフォルトの背景色は白です。
フェルナンドとサンジャナの答えには鍵がありますが、私はそれをより明確で明確にするために何かを追加します。
ナビゲーションバーには2つのプロパティがあります
IOS 7の用語で考えていない場合、それは少し誤解を招くかもしれません。
tintColor
は、ナビゲーションバーのボタンの色を変更します。背景色を変更するには、barTintColor
プロパティを設定する必要があります。
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.tintColor = [UIColor greenColor];
このコードスニペットは、緑色のボタンを備えた白いナビゲーションバーを提供します。
次のコードを使用して、iOS7のナビゲーションバーの色合いを変更し、アプリデリゲートの "applicationDidFinishLaunch"メソッドに追加しました。
/* ios 7 Change */
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
{
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x4B678B)];
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];
shadow.shadowOffset = CGSizeMake(0, 1);
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
[UIFont fontWithName:@"Helvetica Neue" size:21.0], NSFontAttributeName, nil]];
// self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
//[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
}
次のコードは私のために働いています:
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
同じ問題がありましたが、ストーリーボードファイルで解決しました。
以下を試してください。
Navigation ControllerのシーンにNavigation Barアイテムを選択します
XCodeの右側にある[ユーティリティ]タブを開きます
[UINavigationBar appearance].tintColor = [UIColor redColor];
if ([[UINavigationBar appearance] respondsToSelector:@selector(setBarTintColor:)]) {
[UINavigationBar appearance].barTintColor = [UIColor redColor];
}
//または
self.navigationController.navigationBar.tintColor = [UIColor redColor];
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBarTintColor:)]) {
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
}