3

根据UIAppearance 协议参考,一个类需要符合UIAppearanceContainer 具有标记的支持方法UI_APPEARANCE_SELECTOR,以便外观代理正常工作。在 Apple 自己的 WWDC 2011 说明视频“自定义 UIControls 的外观”中,他们提供了使用和讨论 UIButton 和 UILabel 的示例。

这两个类都符合(通过从 UIView 继承)UIAppearance 和 UIAppaeranceContainer 协议,但它们都没有标有 的方法UI_APPEARANCE_SELECTOR。虽然确实有效,但我的美分都花在了它们没有得到 Apple 的完全支持上,为什么在它们上使用外观代理是不安全的。

所以我有几个问题:

  • 我是否错过了使 UIButton/UILabel 符合 UIAppearance 代理先决条件的内容?
  • 你会争辩说它们与 UIAppearance 代理一起使用是不安全的吗?
  • 如果事实证明这两个类不符合要求,那么您会在生产中在哪个对象上使用外观代理(显而易见的答案是,当然,任何使用 UIAppearance 协议标记其方法UI_APPEARANCE_SELECTOR并符合 UIAppearance 协议的对象)?
4

1 回答 1

1

看起来有人已经就这个问题提出了雷达,但他提到在尝试通过外观代理使用方法时会引发异常。他们为我工作,我同意 WWDC 会话中的引用使某人很可能只是忘记注释标题。

于 2012-04-11T14:57:34.850 回答