iOS Touch事件UIControlEvents详解

2023-05-16

刚开始学习UI界面的时候,自己用stroyboard拖按钮到控制器里面,会发现方法默认都是UIControlEventTouchUpInside,然后我翻了一下苹果的官方文档,发现UIControlEvents事件有十几种,那么其他的那些事件都是干嘛用的呢?######


首先,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        = 1 <<  8,

---------------------------------------------------------------------------------------------------UIControlEventValueChanged        = 1 << 12,    // sliders, etc.

UIControlEventEditingDidBegin    = 1 << 16,    // UITextField

UIControlEventEditingChanged      = 1 << 17,

UIControlEventEditingDidEnd      = 1 << 18,

UIControlEventEditingDidEndOnExit = 1 << 19,    // 'return key' ending editing

UIControlEventAllTouchEvents      = 0x00000FFF,  // for touch events

UIControlEventAllEditingEvents    = 0x000F0000,  // for UITextField

UIControlEventApplicationReserved = 0x0F000000,  // range available for application use

UIControlEventSystemReserved      = 0xF0000000,  // range reserved for internal framework use

UIControlEventAllEvents          = 0xFFFFFFFF


UIControlEventTouchDown

单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。

UIControlEventTouchDownRepeat

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

UIControlEventTouchDragInside

当一次触摸在控件窗口内拖动时。

UIControlEventTouchDragOutside

当一次触摸在控件窗口之外拖动时。

UIControlEventTouchDragEnter

当一次触摸从控件窗口之外拖动到内部时。

UIControlEventTouchDragExit

当一次触摸从控件窗口内部拖动到外部时。

UIControlEventTouchUpInside

所有在控件之内触摸抬起事件。

UIControlEventTouchUpOutside

所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。

UIControlEventTouchCancel

所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。

UIControlEventTouchChanged

当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。

UIControlEventEditingDidBegin

当文本控件中开始编辑时发送通知。

UIControlEventEditingChanged

当文本控件中的文本被改变时发送通知。

UIControlEventEditingDidEnd

当文本控件中编辑结束时发送通知。

UIControlEventEditingDidOnExit

当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。

UIControlEventAlltouchEvents

通知所有触摸事件。

UIControlEventAllEditingEvents

通知所有关于文本编辑的事件。

UIControlEventAllEvents

通知所有事件。

把这些都掌握,以后就可以轻松应对各种场景了~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS Touch事件UIControlEvents详解 的相关文章

  • 如何在 iOS 应用程序中通过其他应用程序共享内容/数据,就像我们在 Android 应用程序中使用 Intent.ACTION_SEND 所做的那样?

    在Android中 我们可以通过Intent ACTION SEND startactivity api轻松共享内容 文本 图像 视频等 我已经有一个应用程序可以完美地做到这一点 并且有一个并行的 iOS 应用程序 我希望它能够实现相同的功
  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • iOS 上的 UIBezierPath 操作

    我从一条直线开始 我希望用户能够触摸并拖动该线 使其弯曲 实际上 他们有能力将线条操纵成波浪形状 我不确定从技术上实现这一目标的最简单方法 我首先创建了三次曲线的 UIBezierPaths 数组 目的是操纵控制点 但似乎一旦绘制了 UIB
  • iOS - 当 UIView 移动时将 UITextField 移动到不同的位置

    我有一个主 UIView 它通过开关向上移动 我有这个工作 那里没有问题 现在 UIView 当向下时 占据屏幕的大约一半 当它向上推时 它会显示底部 40px 在 UIView 中 当它处于向下状态时 它有一个 UITextField 并
  • 在 iOS 上使用 Web 服务的最佳方式?

    我想构建一个 iOS 应用程序 让您登录到网络服务 之后 应用程序将 当用户选择时 通过 https 发送登录名 密码以及请求的变量 例如 在请求 新闻更新 后 它将收到 XML 格式的请求信息 类似于
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • 如何解决 CoreData mogenerator 未找到问题

    我收到如下所示的错误 我不知道我错过了什么 我该如何解决这个问题 如下图所示 Users nischalhada Documents XcodePro mnepalnews revisited 2 0 CoreData mogenerato
  • 使用 Interface Builder 创建 UIScrollView 的步骤

    我正在尝试使用 UIScrollView 但似乎有一些基本的事情我不理解 假设我想在我的 iPhone 应用程序中使用 UIScrollView 我有一个充满按钮的视图 尺寸为 320x700 显然 这对于 320x480 的 iPhone
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • 进入前台后刷新数据

    更改默认设置后 我想在AppDelegate中进入前台时刷新myViewController的数据 我所做的是 AppDelegate m void applicationDidFinishLaunching UIApplication a
  • 以编程方式触发iOS摇动事件

    如何以编程方式触发 iOS 中的摇动事件 我尝试过以下方法 但它总是崩溃 void shake NSLog TEST UIMotionEventProxy m NSClassFromString UIMotionEvent alloc in
  • 错误:更改核心数据模型后架构armv7的重复符号

    我有一个使用核心数据框架的应用程序 我工作得很好 我刚刚更改了数据模型 向一个实体添加一个属性 当我尝试构建它时 出现错误 duplicate symbol OBJC METACLASS AccountFolder in Users XXX
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • iOS 循环对象的属性并添加操作

    我有一个具有几个类似属性的类 UISliders 我想添加用户开始和结束使用每个滑块时的操作 每个滑块都将链接到同一个选择器 因此我考虑只是迭代它们 而不是编写 10 个几乎相同的代码块 问题是 最有效的方法是什么 我尝试过这样的事情 在运
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 分发内部业务 IOS 应用程序

    我遇到了 IOS 应用程序分发的一个令人困惑的部分 因此 我需要简单细分一下我的限制 即仅将我的应用程序分发给我的员工 同事或任何被视为 内部 的人 这是表明我不希望该应用程序出现在应用程序商店中的另一种方式 我的情况是我为几家公司开发 他
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController

随机推荐

  • 公网IP和内网IP的区别? 什么是127.0.0.1?

    IP地址是设备在网络上的唯一标识符 xff0c 比如无线路由器有两个IP xff0c 公网IP xff08 例如100 78 118 73 连接互联网 xff0c 私有 xff08 内网 xff09 IP xff08 如192 168 1
  • 计算机网络课程设计之Tracert与Ping 程序设计与实现

    一 预备知识 ICMP ICMP的报文是封装在IP数据部分中的 按照我的理解 xff0c ICMP就是在网络层中 xff0c 反馈一些转发 访问等操作时的附带信息 ICMP分为两种 xff0c ICMP差错报告报文 xff08 IP传输时的
  • 计算机网络课程设计之网络聊天程序的设计与实现

    TCP和UDP在接收方的区别 xff08 实际上本实验中用不着 xff09 UDP 协议 User Datagram Protocol 用户数据报协议 xff0c 是一 种保护消息边界的 xff0c 不保障可靠数据的传输 就是指传输协议把数
  • 计算机网络课程设计之嗅探器实现

    资料来源网络 xff0c 侵权请联系删除 原理 简单说明一下什么是网络嗅探器 xff0c 网络嗅探器是一个抓取所有经过网卡数据的软件 xff0c 在一般使用电脑时 xff0c 网卡只接受到发送至本机的数据 xff0c 那是因为这是网卡是非混
  • 牛客网高级项目总结

    1 注册和登陆 登陆和注册成功之后 xff0c 在cookie里添加上token xff0c 另外在数据库中插入包含token userId的表 xff0c 用于登陆状态检验 具体检验是在拦截器上进行 xff0c 拦截器的实现过程 xff1
  • 设计模式

    面向对象设计原则 每个对象是拥有独立责任的抽象体 真正的复用是源代码不做修改 xff0c 编译 43 测试之后就不会再修改 设计原则 1 依赖倒置原则 xff08 DIP xff09 1 xff09 高层模块 xff08 稳定 xff09
  • Redis面试

    1 更新操作 https coolshell cn articles 17416 html 不可以先删除缓存 xff0c 再更新数据库 因为并发操作下 xff0c 一个更新操作删掉了缓存 xff0c 此时一个读操作进来 xff0c 读取了旧
  • 【关系代数习题】纸上得来终觉浅——数据库学习之路(4)

    题A 设有如下所示的关系S S SNAME AGE SEX C C CNAME TEACHER 和SC S C GRADE xff0c 用关系代数表达式表示下列查询语句 xff1a 1 检索 程军 老师所授课程的课程号 C 和课程名 CNA
  • 线程池

    public ThreadPoolExecutor int corePoolSize int maximumPoolSize long keepAliveTime TimeUnit unit BlockingQueue lt Runnabl
  • 爬取3499手游网下载地址信息

    爬取3499手游网下载地址信息 爬取游戏的下载地址和信息 xff0c 爬取的信息存入到数据库中 1 首先需要安装第三方库 requests xff0c lxml xff0c MySQLdb 2 先创建down software数据库 创建y
  • %d几种输出方式

    d就是普通的输出了 2d是将数字按宽度为2 xff0c 采用右对齐方式输出 xff0c 如果数据位数不到2位 xff0c 则左边补空格 2d是将数字按宽度为2 xff0c 采用左对齐方式输出 xff0c 如果数据位数不到2位 xff0c 则
  • qt开启线程界面假死问题解决

    一 前言 在 使用qt高速读取传感器数据时 xff0c 如果想要将数据实时刷新在界面 xff0c 就需要开启一个线程单独去跑读取数据函数 xff0c 并反馈给主程序 xff0c 否则在主程序中读取和刷新界面会很卡很卡 xff0c 但是在开启
  • Ubuntu Qt安装arm指定的交叉编译环境SDK方式(概述篇)

    一 前言 苦心研究了几天交叉编译环境的安装 xff0c 因为工作需要 xff0c 要在一个arm系统上运行程序 xff0c 正常已经搭配好环境了 xff0c 见此贴 xff0c 后来改为SDK的方式更好使用 xff0c 但是SDK的方式对环
  • Jetson Xavier ubuntu18.04配置vnc进行远程桌面连接

    NVIDIA Jetson Xavier开发板装不上基于gnome桌面的VNC 由于ubuntu上有多个版本的VNC 尝试了vnc4server 43 xfce4后可远程控制 xff0c 因此记录下来方便后面继续装环境 1 安装 span
  • rust gui开发 根据官网例子学习orbtk(1)

    orbtk计算器例子 效果图 依赖 orbtk span class token operator 61 span span class token string 34 0 3 1 alpha3 34 span serde derive s
  • rust gui开发 根据官网例子学习orbtk(2)

    orbtk基础组件 效果图 依赖 orbtk span class token operator 61 span span class token string 34 0 3 1 alpha3 34 span serde derive sp
  • rust gui开发 根据官网例子学习orbtk(3)

    多窗口显示 效果图 依赖 orbtk span class token operator 61 span span class token string 34 0 3 1 alpha3 34 span serde derive span c
  • Maven多仓库配置

    有两种方式配置Maven多仓库 setting xml文件的profiles标签pom xml文件的repositories标签 在使用多仓库配置时 xff0c 不管使用哪种方式 xff0c 必须先将setting xml文件中的mirro
  • Anaconda配置新的环境出现出错

    问题描述 在我使用Anaconda配置新的环境是 xff0c Anaconda出现了如下的错误 xff1a Solving environment failed CondaHTTPError HTTP 000 CONNECTION FAIL
  • iOS Touch事件UIControlEvents详解

    刚开始学习UI界面的时候 xff0c 自己用stroyboard拖按钮到控制器里面 xff0c 会发现方法默认都是UIControlEventTouchUpInside xff0c 然后我翻了一下苹果的官方文档 xff0c 发现UICont