14.1.1 触摸机制
2025年09月26日
14.1.1 触摸机制
iOS提供了一套苹果定义的触摸机制,用来处理从手指碰到屏幕到离开屏幕中间发生的一系列事件。iOS通过一个触摸的集合来跟踪这一系列的触摸过程,会记录每次触摸在屏幕中的位置以及时间。
在使用iOS提供的UI控件时,系统会对特定组合的触摸事件进行判断,并转换为一些手势,转换成功后会以用户期望的方式进行控件响应。比如两根手指扩大彼此间的距离会被应用于接收放大事件的控件上,使其进行内容的放大;手指长按操作则会被应用于接收长按事件的控件上,也许会弹出提示框让用户进行一些自定义的操作,如复制、选择等。UIKit提供了很多控件,大部分控件只对特定的手势有响应,比如UIButton只响应点击事件,而UIScrollView更关心拖拽或者放大的手势。
UIKit控件在正确匹配到自己所能响应的事件之后,会将action发送给指定的target,也就是之前一直使用的action-target模式。如果想自定义一些触摸事件的响应,可以创建UIView的子类,在特定的时机触发响应事件的代码,或者覆写相应的事件处理函数。