2012-04-02 71 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會話中的引用使得有人可能忘記標註標題。