我有兩個圖像的按鈕,一個正常,一個選定。而且我希望它的操作方式與按下圓形矩形按鈕時的作用相同,按鈕圖像會發生變化,如果您向外拖動,則圖像會變回正常狀態。這是我試過的。如何創建一個自定義按鈕,可以更改像圓角矩形的圖像
首先,我做了一個自定義視圖控制器,然後我在實現中添加了方法,它就是你在這裏看到的。我將這些方法吸引到我的2個按鈕,我的播放「按鈕」和「設置」按鈕。
- (IBAction)playButtonSelected:(UIButton *)sender { //this is for event touchDown
[sender setImage:[UIImage imageNamed:@"PlayButtonSelected.png"] forState:UIControlStateNormal];
}
- (IBAction)playButtonNotSelected:(id)sender { //this is for event touchUpOutside
[sender setImage:[UIImage imageNamed:@"PlayButton.png"] forState:UIControlStateNormal];
}
- (IBAction)settingsButtonSelected:(UIButton *)sender { //this is for event TouchDown
[sender setImage:[UIImage imageNamed:@"SettingsButtonSelected.png"] forState:UIControlStateNormal];
}
- (IBAction)settingsButtonNotSelected:(id)sender { //this is for event touchUpOutside
[sender setImage:[UIImage imageNamed:@"SettingsButtons.png"] forState:UIControlStateNormal];
}
嗯,我這樣做,它的工作很不錯,但有2個問題。
1st:如果我有20個按鈕,我必須有40個方法。這不是一個真正的問題,我只是認爲它應該考慮作爲一個潛在的問題。
第二:當我將按鈕拖到外面時,我希望它在用戶實際釋放手指之前切換到正常圖像。截至目前,圖像僅在手指被釋放時默認,而不是在手指移動一定距離時,以便touchUpInside命令不會運行。我想要這個,因爲它基本上是標準的。如果他願意,他還可以幫助用戶理解他可以收回他點擊按鈕的衝動行爲。
很酷,任何幫助都會有很多幫助!
我必須設置它爲highlited而不是選中,但謝謝你救了我的代碼! – bmende 2012-08-05 02:15:54