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

Ios 使用外观代理或self.view.tintColor设置tintColor?,ios,Ios,按照标题 使用外观代理设置my应用程序着色颜色的优势是什么 [[UINavigationBar外观]setTintColor: 而不是仅仅与 self.view.tintColor 或者外观代理功能更强大,可以设置tabbar项外观等 最后,这是否只适用于ios7?还是我的问题的答案是通用的。谢谢。正如apple文档所说的那样:-iOS 7不支持使用外观代理API设置tintColor属性 FYI “iOS 5的UIKit外观协议,大大减少了将一致样式应用于应用程序所需的工作。无需直接自定义每个

按照标题

使用外观代理设置my
应用程序着色颜色
的优势是什么
[[UINavigationBar外观]setTintColor

而不是仅仅与

self.view.tintColor

或者外观代理功能更强大,可以设置tabbar项外观等


最后,这是否只适用于ios7?还是我的问题的答案是通用的。谢谢。

正如apple文档所说的那样:-iOS 7不支持使用外观代理API设置tintColor属性

FYI

“iOS 5的UIKit外观协议,大大减少了将一致样式应用于应用程序所需的工作。无需直接自定义每个UIKit控件的外观,您可以自定义整个UIKit控件类的外观(例如,应用程序中的所有UIKit按钮)。UIAppearance协议通过为UIKit类创建外观代理来工作。修改外观代理的外观会修改该类所有后续实例的外观”

若要自定义类的所有实例的外观,请将相关的外观修改消息发送到该类的外观代理。例如,若要修改所有UINavigationBar实例的条形图着色颜色,请执行以下操作: [[UINavigationBar外观]设置颜色:myColor]

iOS7注意事项:在iOS7上,tintColor属性已移动到UIView,现在具有UIView.h中描述的特殊继承行为。 这种继承的行为可能与外观代理冲突,因此现在外观代理不允许使用tintColor。

来自Matt Neuburg编写的iOS 8编程第655页:"标题和其他文档可能会警告说
tintColor
不是合法的外观代理消息。别担心,这是合法的。但是,正常的
tintColor
属性也可能与外观代理设置冲突。例如,直接设置对象的
tintColor
可以撤消UIBarButtonItem的标题字体以前通过外观代理的标题文本属性设置。”