iOS 7.1 UINavigationbar和UIToolbar

问题描述:

在iOS7.1中升级Xcode后,我的导航栏和UIToolbar按钮没有显示正确的颜色。iOS 7.1 UINavigationbar和UIToolbar

当视图第一次出现时,UIToolbar按钮都具有正确的默认蓝色,当我转到下一页/视图并返回到前一视图时,工具栏按钮以灰色显示。

我曾尝试在viewDidLoadviewWillAppear中添加蓝色,但没有运气。有人可以帮帮我吗?

谢谢。

您可以一次为某些组件设置主题,它们将在整个应用程序中使用。在我的应用程序委托中,我在应用程序初始化时创建了一个名为setupTheme的函数,并且它只是这样做的 - 通过说[[UINavigationBar appearance] setBarTintColor:]来设置应用程序的“主题”,该函数实际上设置颜色导航栏的整个应用程序的任何导航控制器。以下是一个应用程序示例,它设置了一些可重用的基本组件,以便您在使用它们时随时可以使用正确的主题。

- (void)setupTheme { 
    // get our theme colors 
    UIColor *primaryThemeColor = [UIColor blueColor]; 
    UIColor *secondaryThemeColor = [UIColor whiteColor]; 

    // nav bar 
    [[UINavigationBar appearance] setBarTintColor:primaryThemeColor]; 
    [[UINavigationBar appearance] setTintColor:secondaryThemeColor]; 
    [[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:secondaryThemeColor}]; 

    // tab bar 
    [[UITabBar appearance] setTintColor:primaryThemeColor]; 

    // switches 
    [[UISwitch appearance] setOnTintColor:primaryThemeColor]; 

    // search bar 
    [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor blackColor]} forState:UIControlStateNormal]; 
} 

在细节退房了iOS 7的过渡指南了解更详细https://developer.apple.com/library/iOs/documentation/UserExperience/Conceptual/TransitionGuide/Bars.html#//apple_ref/doc/uid/TP40013174-CH8-SW1