根据UIAppearance protocol reference类需要符合 UIAppearanceContainer 和 支持标有UI_APPEARANCE_SELECTOR
的方法,以便外观代理正常工作。在 Apple 自己的 WWDC 2011 教学视频中,"Customizing the appearance of UIControls" ,他们提供了使用和讨论 UIButton 和 UILabel 的示例。
这两个类都符合(通过从 UIView 继承)UIAppearance 和 UIAppaeranceContainer 协议(protocol),但它们都没有具有标记为 UI_APPEARANCE_SELECTOR
的方法。虽然确实有效,但我的钱花在了它们上,没有得到 Apple 的完全支持,为什么在它们上使用外观代理是不安全的。
所以我有几个问题:
- 我是否遗漏了一些使 UIButton/UILabel 符合 UIAppearance 代理先决条件的东西?
- 您认为它们与 UIAppearance 代理一起使用是不安全的吗?
- 如果事实证明这两个类不符合(显而易见的答案当然是任何用
UI_APPEARANCE_SELECTOR
标记其方法的对象),您会在生产中对什么对象使用外观代理> 并符合 UIAppearance 协议(protocol))?
最佳答案
好像有人提交了a radar on this issue ,但他提到在尝试通过外观代理使用方法时会抛出异常。他们为我工作,我同意 WWDC session 中的引用资料很可能是有人忘记了对标题进行注释。
关于ios - UIButton 和外观 API - 支持与否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974746/