【问题标题】:iOS 7.1 UINavigationbar and UIToolbariOS 7.1 UINavigationbar 和 UIToolbar
【发布时间】:2014-03-14 02:45:08
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: ios uinavigationbar uitoolbar uicolor ios7.1


    【解决方案1】:

    您可以一次为某些组件设置一个主题,它们将在您的整个应用程序中使用。在我的应用程序委托中,我在应用程序初始化时创建了一个名为 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

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      相关资源
      最近更新 更多