2012-04-02 70 views
3

根据UIAppearance protocol reference一个类需要符合UIAppearanceContainer支持标记为UI_APPEARANCE_SELECTOR的方法才能使外观代理正常工作。在从2011年的WWDC,苹果"Customizing the appearance of UIControls"自己的教学视频,他们提供的例子,他们使用,并讨论,双方的UIButton和的UILabel。UIButton和Appearance API - 是否支持?

这些类的都符合(通过从UIView的继承)的UIAppearance和UIAppaeranceContainer协议,但他们没有已经打上UI_APPEARANCE_SELECTOR方法。尽管这样做,但我的钱花在了他们身上,没有得到苹果公司的全力支持,为什么在他们身上使用外观代理是不安全的。

所以,我有几个问题:

  • 有我错过了一些东西,使的UIButton /的UILabel符合UIAppearance代理的先决条件?
  • 你会认为他们是不安全与UIAppearance代理使用?
  • 在您需要使用代理外观什么对象在生产中,如果事实证明,这两个类不符合(明显的答案之中,当然,标志着他们的方法与UI_APPEARANCE_SELECTOR和任何对象符合UIAppearance协议)?
+0

我试图UIAppearance在我的班级设置的UILabel阴影。它工作正常。我希望子类化标签。 – Vignesh 2012-04-02 11:03:06

+0

是的,许多设置**可以**设置为这些类的外观代理。问题是用是否缺乏官方一致性意味着他们一样好可能与任何操作系统更新... – jollyCocoa 2012-04-02 12:06:53

+0

什么是说的是真的突破。这就是为什么我更喜欢子类。 – Vignesh 2012-04-02 12:49:38

回答

1

它看起来像有人提起a radar on this issue,但他提到有试图通过使用代理外观方法时抛出的异常。他们为我工作,并且我同意WWDC会话中的引用使得有人可能忘记标注标题。