UIButton的響應(yīng)事件 UIControlEvents 類型說明

摘要:

  • UIControlEventTouchDown
  • UIControlEventTouchDownRepeat
  • UIControlEventTouchDragInside
  • UIControlEventTouchDragOutside
  • UIControlEventTouchDrag...

UIButton的點擊態(tài)

UIButton的點擊事件狀態(tài)UIControlEvents主要有如下幾種:
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

示例
示例

如上圖

UIControlEventTouchDrag 相關(guān)事件

注意:在下面演示過程中,1~4過程中要保持手指一直子啊屏幕上, 不要抬起手指
1.當(dāng)手指在屏幕 A點 上按下去,就會觸發(fā)這個事件 UIControlEventTouchDown
2.緊接著,不要松開手指,從 A點 滑動到 B點 ,這段事件內(nèi),會不斷的觸發(fā) UIControlEventTouchDragInside事件
3.緊接著,不要松開手指,從 B點 滑動到 D點 ,這段時間內(nèi)會觸發(fā)3個事件:
注意: C點 是UIButton的邊界點
B點 滑動到 C點 過程中, 會不斷的觸發(fā) UIControlEventTouchDragInside當(dāng)經(jīng)過 C點 時,會觸發(fā)一次 UIControlEventTouchDragExit 事件當(dāng)從 C點 滑動到 D點 過程中,會不斷的觸發(fā) UIControlEventTouchDragOutside
4.緊接著,不要松開手指,從 D點 返回,滑動到 B點 ,這段時間內(nèi)會觸發(fā)3個事件:
D點 滑動到 C點 過程中, 會不斷的觸發(fā) UIControlEventTouchDragOutside當(dāng)經(jīng)過 C點 時,會觸發(fā)一次 UIControlEventTouchDragEnter 事件當(dāng)從 C點 滑動到 D點 過程中,會不斷的觸發(fā) UIControlEventTouchDragInside

UIControlEventTouchUpInside

在UIButton上按下手指后,不論你是否拖動手指,或者拖到手指到UIButton外, 只要你最終抬起手指的時刻,你的手指是處在UIButton 內(nèi) ,就會觸發(fā)此事件
例如,以下操作均會觸發(fā)此事件:
A點 按下手指后,然后抬起手指,就和平常的單擊事件一樣;
A點 按下手指后,拖動手指到B點,然后抬起手指;
B點 按下手指后,拖動手指到 D點 ,然后再拖回 B點 ,然后抬起手指

UIControlEventTouchUpOutside

在UIButton上按下手指后,拖動手指,無論你拖動手指進(jìn)出UIButton多少次, 只要你最終抬起手指的時刻,你的手指是處在UIButton ,就會觸發(fā)此事件
例如,以下操作均會觸發(fā)此事件:
B點 按下手指后,滑動手指到 D點 后,抬起手指;
B點 按下手指后,滑動手指到 D點 -》A點 -》 B點 -》 D點 , 只要最終抬起手指在UIButton外(即 D點 )即可。

UIControlEventTouchCancel

按鈕的觸摸事件被打斷,會觸發(fā)此事件。
手指在 UIButton 內(nèi)按鈕, 這期間可以任意滑動,但不要抬起手指, 在抬起手指之前觸摸事件被打斷,就會觸發(fā)此事件;例如,在抬起手指前,突然彈出一個UIAlertView時,就會打斷按鈕的觸摸事件

UIControlEventTouchDownRepeat

多點觸摸按下事件,點觸計數(shù)大于1:用戶按下第二、三、或第四根手指的時候。

參考:
UIView的Touch事件UIControlEvents詳解
原文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1,點擊事件和touch事件的關(guān)系 自定義UIButton并在其中重寫以下方法: 添加UIButton并監(jiān)聽UIC...
    喵子G閱讀 6,941評論 3 15
  • 在開發(fā)過程中,大家或多或少的都會碰到令人頭疼的手勢沖突問題,正好前兩天碰到一個類似的bug,于是借著這個機(jī)會了解了...
    閆仕偉閱讀 5,431評論 2 23
  • -- iOS事件全面解析 概覽 iPhone的成功很大一部分得益于它多點觸摸的強(qiáng)大功能,喬布斯讓人們認(rèn)識到手機(jī)其實...
    翹楚iOS9閱讀 3,008評論 0 13
  • 本節(jié)介紹各種常見的瀏覽器事件。 鼠標(biāo)事件 鼠標(biāo)事件指與鼠標(biāo)相關(guān)的事件,主要有以下一些。 click 事件,dblc...
    許先生__閱讀 2,513評論 0 4
  • 1. 以前的閱讀習(xí)慣就是順著興趣來,喜歡什么讀什么,只要感興趣,就讀,也讀了不少,很多名家名作都有涉獵,但是一般散...
    木易選選閱讀 142評論 2 0