我可以在设置窗格中为我的应用程序(在任何地方)更改tintColor。
当我更改tintColor,然后尝试返回默认的色调颜色时,NavBar中的某些按钮没有返回蓝色,我该如何处理呢?

核实:
-创建一个新的项目主/细节
-在详细信息视图中:添加两个按钮,名称分别为:“红色界面”和“蓝色界面”
-在DetailViewController中,添加操作

@IBAction func tapRed(sender: AnyObject) {
    view.window!.tintColor = UIColor.redColor()
}


@IBAction func tapBlue(sender: AnyObject) {
    view.window!.tintColor = nil
}


现在运行该应用程序,创建一个时间戳,进入详细信息,点击redInterface,然后点击蓝色界面
在“详细视图”中可以,但是当您返回到母版时,“ +”按钮项为红色,而不是蓝色。

我可以通过设置纯蓝色而不是nil来解决此问题,但是,如果Apple更改默认的tintColor,那不是长期解决方案。

这是一个错误吗?有什么办法可以绕过这个问题?

最佳答案

一种快速的解决方法是在初始应用加载时获取默认的色度一次,并将其存储在某个位置(即用户默认值)

从Apple的iOS 7 UI Transition Guide(特别是在“使用着色颜色”部分下)中获得。


  默认情况下,视图的颜色为零,这表示该视图使用其父项的颜色。这也意味着,当您要求视图提供其色彩时,即使您未设置颜色值,它也始终会返回一个颜色值。

关于ios - 在NavBar中将tintColor更改为默认值(蓝色),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35395823/

10-11 22:32
查看更多