UIButton的響應事件 UIControlEvents 類型說明

UIButton的點擊態

UIButton的點擊事件狀態UIControlEvents主要有以下幾種:ide

  • UIControlEventTouchDown = 1 << 0, // on all touch downs
  • UIControlEventTouchDownRepeat = 1 << 1, // on multiple touchdowns (tap count > 1)
  • UIControlEventTouchDragInside = 1 << 2,
  • UIControlEventTouchDragOutside = 1 << 3,
  • UIControlEventTouchDragEnter = 1 << 4,
  • UIControlEventTouchDragExit = 1 << 5,
  • UIControlEventTouchUpInside = 1 << 6,
  • UIControlEventTouchUpOutside = 1 << 7,
  • UIControlEventTouchCancel

圖片丟失

如上圖.net

UIControlEventTouchDrag 相關事件

注意:在下面演示過程當中,1~4過程當中要保持手指一直子啊屏幕上, 不要擡起手指blog

1.當手指在屏幕 A點 上按下去,就會觸發這個事件 UIControlEventTouchDown事件

2.緊接着,不要鬆開手指,從 A點 滑動到 B點 ,這段事件內,會不斷的觸發 UIControlEventTouchDragInside 事件圖片

3.緊接着,不要鬆開手指,從 B點 滑動到 D點 ,這段時間內會觸發3個事件:ip

注意: C點 是UIButton的邊界點get

B點 滑動到 C點 過程當中, 會不斷的觸發 UIControlEventTouchDragInside
當通過 C點 時,會觸發一次 UIControlEventTouchDragExit 事件
當從 C點 滑動到 D點 過程當中,會不斷的觸發 UIControlEventTouchDragOutsideit

4.緊接着,不要鬆開手指,從 D點 返回,滑動到 B點 ,這段時間內會觸發3個事件:im

D點 滑動到 C點 過程當中, 會不斷的觸發 UIControlEventTouchDragOutside
當通過 C點 時,會觸發一次 UIControlEventTouchDragEnter 事件
當從 C點 滑動到 D點 過程當中,會不斷的觸發 UIControlEventTouchDragInsidetouch

UIControlEventTouchUpInside

在UIButton上按下手指後,不論你是否拖動手指,或者拖到手指到UIButton外, 只要你最終擡起手指的時刻,你的手指是處在UIButton ,就會觸發此事件

例如,如下操做均會觸發此事件:

  1. A點 按下手指後,而後擡起手指,就和日常的單擊事件同樣;
  2. A點 按下手指後,拖動手指到B點,而後擡起手指;
  3. B點 按下手指後,拖動手指到 D點 ,而後再拖回 B點 ,而後擡起手指

UIControlEventTouchUpOutside

在UIButton上按下手指後,拖動手指,不管你拖動手指進出UIButton多少次, 只要你最終擡起手指的時刻,你的手指是處在UIButton ,就會觸發此事件

例如,如下操做均會觸發此事件:

  1. B點 按下手指後,滑動手指到 D點 後,擡起手指;
  2. B點 按下手指後,滑動手指到 D點 -》A點 -》 B點 -》 D點 , 只要最終擡起手指在UIButton外(即 D點 )便可。

UIControlEventTouchCancel

按鈕的觸摸事件被打斷,會觸發此事件。

手指在 UIButton 內按鈕, 這期間能夠任意滑動,但不要擡起手指, 在擡起手指以前觸摸事件被打斷,就會觸發此事件;
例如,在擡起手指前,忽然彈出一個UIAlertView時,就會打斷按鈕的觸摸事件

UIControlEventTouchDownRepeat

多點觸摸按下事件,點觸計數大於1:用戶按下第2、3、或第四根手指的時候。

參考:

相關文章
相關標籤/搜索