2013-02-23 26 views
3

我想有一個UIButton觸摸它後保持選定狀態。我已添加代碼以在TouchUpInside事件期間設置選定狀態;然而,在快速點擊之後,狀態之間會有輕微的「眨眼」。我有一些使用UImageView並添加UITapGestureRecognize來做到這一點的策略,但必須有一個更簡單的方法。UIButton保留選中後觸摸

+0

首先把相關的代碼和重量你想深深解釋?? – iPatel 2013-02-23 04:46:28

+0

@iPatel一般而言,除了實際代碼外,您不應該使用代碼格式;事物的關鍵字和名稱不應該有代碼格式。 – 2013-02-23 05:33:06

+0

@ AndrewBarber-你的意思是說? – iPatel 2013-02-23 05:35:52

回答

4

Flash的原因是Touch Up Inside太晚了;按照定義,用戶的手指已經打開。也許你應該考慮實施Touch Down Inside的動作事件(或者另外)。

另一種可能性可能是使用一個UISegmentedControl與一種鏈段和momentary設置爲NO。

+0

Touch Down Inside的確聽起來像這裏所要求的。 – 2013-02-23 05:46:19

1

試試這個,

[button sendActionsForControlEvents:UIControlEventTouchUpInside]; 
[button setSelected:YES]; 
2

這只是我的頭

一個UIButton的頂部有四個狀態 - 正常,高亮,選擇,殘疾人 我認爲「眨眼」您注意到是由於突出顯示的狀態。按鈕拍了拍使其「閃爍」時,通過高亮顯示狀態可能變爲

嘗試設置高亮狀態屬性一樣的選中狀態。

1

創建一個類似於按鈕的UIView。 只需將按鈕添加爲UIView的子視圖,並將按鈕的標題(UILabel)添加爲同一UIView的子視圖。 在按下按鈕時,將UIView和UILabel的屬性更改爲使其看起來像按下按鈕,以便視圖可以保持按下狀態,直到您再次更改這些屬性。

希望這會有所幫助。

0

感謝您的好答案。與其處理UIButton,我最終使用UIImageView並在突出顯示的狀態下基於輕擊手勢在動畫塊中設置。它使得完成按下狀態變得更容易,而不是試圖解釋UIButton手勢處理。