2013-08-22 22 views
1

基本上,我在閱讀關於UIAppearance後重構了一個應用程序。我的UI變化大部分都在故事板或viewDidLoad中,並且定製每個控件都是一件痛苦的事情。我應該只爲UIAppearance提供子類別

我有一個單元格,它包含兩個標籤,比如說bigLabelsmallLabel。我想bigLabel是粗體,而不是smallLabel。從this lecture,我應該繼承這兩個標籤並在不同的類上應用外觀。

我的問題是,它的做法是最好的:

  • 子類均標籤
  • 只需通過故事板
  • 別的修改屬性?

謝謝。

回答

1

不。當您在故事板中進行UI更改時 - 您跳過了代碼部分。這是使用故事板的標準東西,如字體,顏色和字體大小的整個想法。如果你願意,你可以在代碼中完成它 - 但是你不用代碼和故事板來完成。它的一個或另一個。

1

只需通過故事板修改屬性即可。爲什麼要分類,如果你可以避免它?此外,代碼將更乾淨。

+0

問題是,它有點「打破」了UIA的外觀壓倒一切。這意味着如果我想改變字體,我需要在代碼和故事板中對它進行更改......這是正確的方法嗎? – DCMaxxx

+0

你怎麼能在代碼和故事板上做到這一點? - 代碼會覆蓋Storyboard的實現 - 不是嗎? 就像我之前說過的那樣 - 它是一個或另一個。不是都 – Tander

0

UILabel當前不符合UI_APPEARANCE_SELECTOR。檢查標題。有一些解決此問題的方法,比如覆蓋類別中的這些屬性並添加UI_APPEARANCE_SELECTOR。要確定是使用UIAppearance還是使用故事板,您必須評估在您的上下文中進行更改會有多困難。對於非常簡單的應用程序,這可能是可以接受的。不過,想象一下,如果你試圖實現像主題變化一樣的東西!故事板設置方法的崩潰速度很快,就像在每個視圖的代碼中設置內容一樣,即使將這些內容抽象爲標題也是如此。改變將是痛苦的,非常痛苦的。

相關問題