削除されたImageShackリンクを削除
ご覧のとおり、変更が必要なビューは、タブバーの順序をカスタマイズするためのビューです。ナビゲーションバーの色を変更したい( "構成"を意味する "Konfigurieren"が表示されています)。 "More"ナビゲーションコントローラーの色を変更する方法は既にわかっていますが、これは変更できません。誰かが私を助けてくれますか?
Int AppDelegateを使用する
tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];
私はあなたが探しているのはこれだと思います(ナビゲーションコントローラーを作成するときに、通常はアプリデリゲートで行います):
UINavigationController *navigationController;
...
navigationController.navigationBar.tintColor = [UIColor blackColor];
確かに動作します! :-)
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
簡単にすることができます(タブバーデリゲートで使用):
- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers {
id modalViewCtrl = [[[tabBarController view] subviews] objectAtIndex:1];
if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
((UINavigationBar*)[[modalViewCtrl subviews] objectAtIndex:0]).tintColor = [UIColor redColor];
}
それぞれを個別に変更する代わりに、すべてのナビゲーションバースタイルを変更する簡単な方法があります。
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
このコードを初期ビューの1つに設定するだけです。これにより、追加のナビゲーションコントローラーと構成ナビゲーションコントローラー(追加のナビゲーションコントローラーで[編集]をクリックすると表示される)は異なるスタイルになります。
このように、色を変更したり、背景画像を変更したりできます。
お役に立てれば。
次のように、Configure NavBarの色を変更できました。
このメソッドを実装します。
-(void)beginCustomizingTabBar:(id)sender
{
[super beginCustomizingTabBar:sender];
// Get the new view inserted by the method called above
id modalViewCtrl = [[[self view] subviews] objectAtIndex:1];
if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
{
UINavigationBar* navBar = [[modalViewCtrl subviews] objectAtIndex:0];
[navBar setBarStyle:UIBarStyleBlackTranslucent];
[navBar setTranslucent:YES];
}
}
User486217によって与えられた答えを基にして、これはさらに防御的にコード化されるかもしれません:
id modalViewCtrl = [controller.view.subviews objectAtIndex:1]; if([modalViewCtrl isKindOfClass:NSClassFromStrin(@ "UITabBarCustomizeView")] == YES){ id navigationBar = [[modalViewCtrl subviews] objectAtIndex:0]; if([ navigationBar isKindOfClass:[UINavigationBar class]]){ ((UINavigationBar *)navigationBar).tintColor = [UIColor redColor]; } }}
標準色(グレー、ブラック、ホワイト)を探している場合は、xCode 5内でこれらの値を設定できます。ViewController全体を選択し、属性インスペクターを選択します。属性の下にある「トップバー」の隣にドロップダウンがあります。そこで、ナビゲーションバーコントローラの色と不透明度のさまざまな設定を選択できます。
以下にいくつかのスクリーンショットを示します。お役に立てれば!