2011-08-09 36 views
2

是否可以通過點語法更改UIButton標題標籤文本?爲什麼不能通過點語法改變UIButton文本?

但是這一次確實:如果我通過點語法做到這一點的文本沒有改變

[self.myButton setTitle: @"Yep" forState: UIControlStateNormal]; 

文本變化適用於純UILabels,是UIButton的一個特例還是什麼?

回答

10

這是因爲可以針對多個不同狀態(正常,突出顯示等)的UIButton更改文本。蘋果只是選擇了要求明確的代碼來設置文本。如果你真的想要,你可以創建一個類來實現它。

+0

嗯,也許有一些邏輯在:)作爲類別我不舒服使用它們,因爲恕我直言,它只是使代碼更難以閱讀以後甚至其他人。例如,如果你正在構建一個大型應用程序,那麼你有很多不同的類文件,助手等等。如果你把某些方法放在類別中,那麼你需要有一個明確的文件命名約定來找到「隱藏和自定義」功能。這只是我的意見,你的是什麼? – Centurion

+0

老實說,我很擅長在必要時創建類別。當然,通過在類上添加數十個或數百個輔助方法,這可能很容易被採用。如果你進入連鎖店,這甚至會產生意想不到的後果。與往常一樣,如果您練習爲任何潛在令人不安的代碼編寫深思熟慮的評論,則捍衛選擇會容易得多。另外,Xcode使用Command + Click找到方法的聲明變得輕而易舉。 – FreeAsInBeer

+0

同意Command + Click :)好的,謝謝GL。 – Centurion

1

的UIButton的可以重新配置他們的頭銜任何的UIControlState的(在這裏看到:UIControlState)。

由於使用點語法不會爲任何特定狀態設置標題,因此UIButton可能會重新配置UIControlStateNormal的標題,該標題設置爲空。

相關問題