UIButton的响应事件 UIControlEvents 类型说明

摘要:

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

UIButton的点击态

UIButton的点击事件状态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 相关事件

注意:在下面演示过程中,1~4过程中要保持手指一直子啊屏幕上, 不要抬起手指
1.当手指在屏幕 A点 上按下去,就会触发这个事件 UIControlEventTouchDown
2.紧接着,不要松开手指,从 A点 滑动到 B点 ,这段事件内,会不断的触发 UIControlEventTouchDragInside事件
3.紧接着,不要松开手指,从 B点 滑动到 D点 ,这段时间内会触发3个事件:
注意: C点 是UIButton的边界点
B点 滑动到 C点 过程中, 会不断的触发 UIControlEventTouchDragInside当经过 C点 时,会触发一次 UIControlEventTouchDragExit 事件当从 C点 滑动到 D点 过程中,会不断的触发 UIControlEventTouchDragOutside
4.紧接着,不要松开手指,从 D点 返回,滑动到 B点 ,这段时间内会触发3个事件:
D点 滑动到 C点 过程中, 会不断的触发 UIControlEventTouchDragOutside当经过 C点 时,会触发一次 UIControlEventTouchDragEnter 事件当从 C点 滑动到 D点 过程中,会不断的触发 UIControlEventTouchDragInside

UIControlEventTouchUpInside

在UIButton上按下手指后,不论你是否拖动手指,或者拖到手指到UIButton外, 只要你最终抬起手指的时刻,你的手指是处在UIButton ,就会触发此事件
例如,以下操作均会触发此事件:
A点 按下手指后,然后抬起手指,就和平常的单击事件一样;
A点 按下手指后,拖动手指到B点,然后抬起手指;
B点 按下手指后,拖动手指到 D点 ,然后再拖回 B点 ,然后抬起手指

UIControlEventTouchUpOutside

在UIButton上按下手指后,拖动手指,无论你拖动手指进出UIButton多少次, 只要你最终抬起手指的时刻,你的手指是处在UIButton ,就会触发此事件
例如,以下操作均会触发此事件:
B点 按下手指后,滑动手指到 D点 后,抬起手指;
B点 按下手指后,滑动手指到 D点 -》A点 -》 B点 -》 D点 , 只要最终抬起手指在UIButton外(即 D点 )即可。

UIControlEventTouchCancel

按钮的触摸事件被打断,会触发此事件。
手指在 UIButton 内按钮, 这期间可以任意滑动,但不要抬起手指, 在抬起手指之前触摸事件被打断,就会触发此事件;例如,在抬起手指前,突然弹出一个UIAlertView时,就会打断按钮的触摸事件

UIControlEventTouchDownRepeat

多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。

参考:
UIView的Touch事件UIControlEvents详解
原文

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1,点击事件和touch事件的关系 自定义UIButton并在其中重写以下方法: 添加UIButton并监听UIC...
    喵子G阅读 11,889评论 3 15
  • 在开发过程中,大家或多或少的都会碰到令人头疼的手势冲突问题,正好前两天碰到一个类似的bug,于是借着这个机会了解了...
    闫仕伟阅读 10,862评论 2 23
  • -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实...
    翘楚iOS9阅读 8,164评论 0 13
  • 本节介绍各种常见的浏览器事件。 鼠标事件 鼠标事件指与鼠标相关的事件,主要有以下一些。 click 事件,dblc...
    许先生__阅读 7,535评论 0 4
  • 1. 以前的阅读习惯就是顺着兴趣来,喜欢什么读什么,只要感兴趣,就读,也读了不少,很多名家名作都有涉猎,但是一般散...
    木易选选阅读 1,202评论 2 0

友情链接更多精彩内容