4

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

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

我试图添加蓝色viewDidLoadviewWillAppear但没有运气。有人可以帮帮我吗?

谢谢。

4

1 回答 1

0

您可以一次为某些组件设置一个主题,它们将在您的整个应用程序中使用。在我的应用程序委托中,我在应用程序初始化时创建了一个名为 setupTheme 的函数,它就是这样做的 - 通过说诸如 [[UINavigationBar 外观] 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

于 2014-04-18T21:06:20.077 回答