2009-09-10 28 views
31

去除死ImageShack的链接如何设置标签栏配置菜单

的导航栏颜色,你可以看到我需要改变的观点是所提供的视图定制的TabBar顺序。我想改变导航栏的颜色(显示“Konfigurieren”意思是“配置”),我已经发现如何改变“更多”导航控制器的颜色,但不是这个。有人可以帮助我吗?

+0

呀。我也想知道。我已经尝试了几天,但我无法让它工作.. – Jake 2009-09-10 09:57:28

+0

我们看不到,真的,因为你的图片链接似乎被打破了。如果您仍然有原始图像,请将其重新上传到stack.imgur,或者编辑您的问题以使其在没有图像的情况下工作。谢谢。 – 2015-07-27 14:44:09

回答

15

使用int的AppDelegate

tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor]; 
+8

我不知道为什么这个答案被接受:它只会改变“更多”选项卡的导航栏(问题作者说他们已经实现)的色调颜色,但不会改变“自定义”模式视图控制器中的颜色。 user486217的答案做了要求的正确的事情。 – 2011-04-05 12:02:58

20

我知道你在寻找的是这(当您创建导航控制器做的,通常在你的应用程序代理):

UINavigationController *navigationController; 
... 
navigationController.navigationBar.tintColor = [UIColor blackColor]; 
14

它当然会工作! :-)

self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
+2

简单但很好的答案!谢谢。 – Will 2012-10-05 10:14:40

+0

是的,可以像迷人的... – 2013-06-14 07:05:27

3

我能够改变配置的NavBar的颜色是这样的:

  1. 创建从继承的UITabBarController一个新的类。
  2. 实现此方法:

    -(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]; 
        } 
    } 
    
12

可以更容易(在标签栏代表使用):

- (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]; 
} 
2

大厦关闭的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]; 
    } 
}} 
7

有一个轻松地更改所有导航栏样式,而不是单独更改每个导航栏样式。

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack]; 

只需在其中一个初始视图中设置此代码即可。有了这个,更多的导航控制器和配置导航控制器(在点击更多导航控制器中的“编辑”后出现)可以获得不同的风格。

像这样你可以将其颜色更改为另一种颜色或更改背景图片。

希望这会有所帮助。

1

如果您正在寻找标准颜色(灰色,黑色,白色),可以在xCode中设置这些值。5.选择整个视图控制器,然后选择属性检查器。在属性下,您会在“顶部栏”旁找到一个下拉菜单。您可以在导航栏控制器中为颜色和不透明度选择各种设置。

下面概述了一些截图。希望这可以帮助!

enter image description here

enter image description here

相关问题