使用外观代理或self.view.tintColor设置tintColor?

按照标题。

什么是设置我的app tint color与外观代理的优点[[UINavigationBar appearance] setTintColor

而不仅仅是与

self.view.tintColor

或者是外观代理function更强大,可以设置标签栏的外观等。

最后,这只适用于ios7吗? 或者是我普遍的问题的答案。 谢谢。

正如苹果文件所说 : – iOS 7不支持使用外观代理API设置tintColor属性。

FYI

“与iOS 5的UIAppearance协议大大减less了将一致的样式应用到应用程序所需的工作,而不是直接定制每个UIKit控件的外观,而是可以自定义整个类的UIKit控件的外观(例如,所有的在应用程序中使用UIButtons)UIAppearance协议的工作原理是为UIKit类创build一个外观代理,修改外观代理的外观可以修改该类的所有后续实例的外观。

要自定义类的所有实例的外观,请将相关的外观修改消息发送给该类的外观代理。 例如,要修改所有UINavigationBar实例的条形色调:[[UINavigationBar appearance] setBarTintColor:myColor];

iOS7的注意事项 :在iOS7上,tintColor属性已经移动到UIView,并且现在在UIView.h中描述了特殊的inheritance行为。 这种inheritance的行为可能会与外观代理发生冲突,因此tintColor现在不允许使用外观代理。