2012-02-19 92 views
2

我有一個UIBarButtonItem包含一個按鈕,我已經爲其按下/未按下狀態設置自定義背景圖像。按下的圖像向下移動4px,所以未按下時的文字垂直偏離中心。我知道我可以使用[button setTitleEdgeInsets:UIEdgeInsetsMake(10.0, 10.0, 0.0, 0.0)]來更改文本標籤的位置,但是我可以只爲特定的控制狀態(未按下)執行此操作嗎?不同國家的UIButton插入

如果這意味着繼承UIButton,我會不會在drawRect中處理所有繪圖?

回答

1

不,你不應該自己處理繪圖,如果你subclassed UIButton。一種方法是簡單地鍵值 - 觀察子類中的enabledselected屬性,然後只要狀態改變就將邊緣插值調整爲合適的值。 This question here relates to observing the button for state changes.

+0

謝謝,這工作。我在http://www.leghumped.com/blog/2012/03/01/pressable-bar-buttons-with-addobserver/上寫了一篇博文。 – Echilon 2012-03-01 12:55:14

相關問題