2012-04-03 85 views
0

這可能嗎?它似乎以次充好。在Interface Builder中使用UIButton創建自定義切換

我想在IB中創建一個切換按鈕(不是UISwitch)。例如,靜音按鈕在靜音時會指示聲音被禁用,當您按下該按鈕時,該指示器消失(但仍然是相同的底層圖形),並在每次按下時在這些狀態之間切換。

這個功能可以通過使用selected屬性來實現,但是你不能像在代碼中那樣改變IB中的Selected和Highlighted屬性,所以無論按下按鈕,無論狀態如何,突出顯示的圖像都是同樣,這看起來很可怕並且很糟糕。

有沒有辦法解決這個問題,只是IB,還是我必須做一個自定義類,以避免手動加載所有這些按鈕?

回答

0

你有沒有想過子類化UIButton添加你需要的東西?

+0

可以在代碼中用普通的UIButton來完成它;是的,我已經考慮過對它進行子類化,並且只是添加了一些代碼來自動檢測並在初始化時設置Selected/Highlighted狀態,但如果我不必這樣做,會更好。但是如果我必須走這條路線,我不確定要重寫什麼,它只是-initWithFrame:? – user1137704 2012-04-03 21:09:10

+0

例如,您可以執行setImage:@「image」forState :(UIControlStateHighlighted | UIControlStateSelected)',這可以解決這個問題,但在IB中似乎沒有等價物。子類唯一的問題是認識到應該是什麼值。 – user1137704 2012-04-03 21:16:59

相關問題