在UIControl控制項事件中,簡單解釋下下面幾個事件。
說明:由於是在“iOS 模擬器”中測試的,所以不能用手指,只能用滑鼠。
1)UIControlEventTouchDown
指滑鼠左鍵按下(註:只是“按下”)的動作
2)UIControlEventTouchDownRepeat
指滑鼠左鍵連續多次重複按下(註:只是“按下”)的動作,比如,滑鼠連續雙擊、三擊、……、多次連擊。
說明:多次重複按下時,事件序列是這樣的:
UIControlEventTouchDown ->
(UIControlEventTouchUpInside) ->
UIControlEventTouchDown ->
UIControlEventTouchDownRepeat ->
(UIControlEventTouchUpInside) ->
UIControlEventTouchDown ->
UIControlEventTouchDownRepeat ->
(UIControlEventTouchUpInside) ->
…
除了第一次按下外,後面每次摁下都是一個UIControlEventTouchDown事件,然後緊跟一個UIControlEventTouchDownRepeat事件。
3)UIControlEventTouchDragInside
指按下滑鼠,然後在控制項邊界範圍內拖動。
4)UIControlEventTouchDragOutside
與UIControlEventTouchDragInside不同的是,拖動時,滑鼠位於控制項邊界範圍之外。但首先得有個UIControlEventTouchDown事件,然後接一個UIControlEventTouchDragInside事件,再接一個UIControlEventTouchDragExit事件,這時,滑鼠已經位於控制項外了,繼續拖動就是UIControlEventTouchDragOutside事件了。
具體操作是:在控制項裡面按下滑鼠,然後拖動到控制項之外。
5)UIControlEventTouchDragEnter
指拖動動作中,從控制項邊界外到內時產生的事件。
6)UIControlEventTouchDragExit
指拖動動作中,從控制項邊界內到外時產生的事件。
7)UIControlEventTouchUpInside
指滑鼠在控制項範圍內抬起,前提先得按下,即UIControlEventTouchDown或UIControlEventTouchDownRepeat事件。
8)UIControlEventTouchUpOutside
指滑鼠在控制項邊界範圍外抬起,前提先得按下,然後拖動到控制項外,即 UIControlEventTouchDown -> UIControlEventTouchDragInside(n 個) -> UIControlEventTouchDragExit -> UIControlEventTouchDragOutside(n 個) 時間序列,再然後就是抬起滑鼠,產生UIControlEventTouchUpOutside事件。 UIControl全部事件概述
UIControlEventTouchDown
單點觸摸按下事件:使用者點觸螢幕,或者又有新手指落下的時候。
UIControlEventTouchDownRepeat
多點觸摸按下事件,點觸計數大於1:使用者按下第二、三、或第四根手指的時候。
UIControlEventTouchDragInside
當一次觸摸在控制項視窗內拖動時。
UIControlEventTouchDragOutside
當一次觸摸在控制項視窗之外拖動時。
UIControlEventTouchDragEnter
當一次觸摸從控制項視窗之外拖動到內部時。
UIControlEventTouchDragExit
當一次觸摸從控制項視窗內部拖動到外部時。
UIControlEventTouchUpInside
所有在控制項之內觸摸抬起事件。
UIControlEventTouchUpOutside
所有在控制項之外觸摸抬起事件(點觸必須開始與控制項內部才會發送通知)。
UIControlEventTouchCancel
所有觸摸取消事件,由系統觸發,即一次觸摸因為放上了太多手指而被取消,或者被上鎖或者撥打電話打斷,或者手指觸摸控制項時旋轉螢幕。
UIControlEventValueChanged
當控制項的值發生改變時,發送通知。用於滑塊、分段控制項、以及其他取值的控制項。你可以配置滑塊控制項何時發送通知,在滑塊被放下時發送,或者在被拖動時發送。
UIControlEventPrimaryActionTriggered
A semantic action triggered by buttons.
UIControlEventEditingDidBegin
當文本控制項中開始編輯時發送通知。UITextField相關
UIControlEventEditingChanged
當文本控制項中的文本被改變時發送通知。UITextField相關
UIControlEventEditingDidEnd
當文本控制項中編輯結束時發送通知。UITextField相關
UIControlEventEditingDidEndOnExit
當文本控制項內通過按下斷行符號鍵(或等價行為)結束編輯時,發送通知。UITextField相關
UIControlEventAllTouchEvents
通知所有觸摸事件。
UIControlEventAllEditingEvents
通知所有關於文本編輯的事件。UITextField相關
UIControlEventApplicationReserved
A range of control-event values available for application use.
UIControlEventSystemReserved
A range of control-event values reserved for internal framework use.
UIControlEventAllEvents
通知所有事件。