删除了无效的 ImageShack 链接
如您所见,我需要更改的视图是提供的用于自定义标签栏顺序的视图。我想更改导航栏的颜色(显示“Konfigurieren”,意思是“配置”),我已经知道如何更改“更多”-导航控制器的颜色,但不是这个。有人可以帮我吗?
删除了无效的 ImageShack 链接
如您所见,我需要更改的视图是提供的用于自定义标签栏顺序的视图。我想更改导航栏的颜色(显示“Konfigurieren”,意思是“配置”),我已经知道如何更改“更多”-导航控制器的颜色,但不是这个。有人可以帮我吗?
我认为您正在寻找的是这个(在您创建导航控制器时执行,通常在您的应用程序委托中):
UINavigationController *navigationController;
...
navigationController.navigationBar.tintColor = [UIColor blackColor];
使用 int AppDelegate
tabBarController.moreNavigationController.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];
只需在您的初始视图之一中设置此代码。这样,您的更多导航控制器和配置导航控制器(在更多导航控制器中单击“编辑”后出现)获得不同的样式。
像这样,您可以将其颜色更改为不同的颜色或更改背景图像。
希望这可以帮助。
我能够像这样更改 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 子视图] objectAtIndex:0]; if ([navigationBar isKindOfClass:[UINavigationBar class]]) { ((UINavigationBar*)navigationBar).tintColor = [UIColor redColor]; } }}
如果您正在寻找标准颜色(灰色、黑色、白色),您可以在 xCode 5 中设置这些值。选择整个视图控制器,然后选择属性检查器。在属性下,您会在“顶部栏”旁边找到一个下拉菜单。在那里,您可以为导航栏控制器选择各种颜色和不透明度设置。
下面概述了一些屏幕截图。希望这可以帮助!