在控制項事件中,簡單解釋下下面幾個事件。
說明:由於是在“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事件。