2

我喜欢更改UINavigationBara TabBarControllers NavigationController,它工作正常,但是当我通过点击选项卡更改视图时,UINavigationBar其样式更改为UIBarStyleBlackTranslucent,但不是UITabBar. 在我实现主题之前,NavigationBar 样式也是黑色半透明的,但我删除了所有代码并更改了 StoryBoard 中的颜色。

我不知道为什么我的应用程序会这样。我在 AppDelegate.m 中有我的代码,所以它应该是系统范围的。

那是我的白色主题代码:

-(void)whiteTheme {

    UIColor *defaultColor = [UIColor colorWithRed:(21/255.0) green:(121/255.0) blue:(251/255.0) alpha:1];

    [[UITabBar appearance] setTintColor:defaultColor];
    [[UITabBar appearance] setBarStyle:UIBarStyleDefault];
    [[UINavigationBar appearance] setTintColor:defaultColor];
    [[UINavigationBar appearance] setBarStyle:UIBarStyleDefault];

}

黑色主题:

-(void)blackTheme {

    [[UITabBar appearance] setTintColor:[UIColor whiteColor]];
    [[UITabBar appearance] setBarStyle:UIBarStyleBlack];
    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
    [[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
}

我希望有人知道答案。

4

1 回答 1

0

如果您单击顶部的项目,请转到您的目标-> 常规,然后在状态栏样式下拉框中为您的导航栏选择相应的样式。

另一种解决方案:定义特定的导航控制器属性并使用 self.navigationcontroller.navigationbar 而不是 [UINavigationBar 外观]

[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
于 2014-05-22T16:09:35.060 回答