美文网首页
触摸事件 & UIResponder

触摸事件 & UIResponder

作者: ProgressChen | 来源:发表于2016-07-10 09:31 被阅读8次

UIResponder

UIResponder定义了一系列的方法,用于接收和处理用户事件,例如触摸,运动(设备摇晃)和控制(文本编辑或播放音乐),覆盖UIResponder的一些方法,来实现自己的事件响应代码。

触摸事件

一根手指或多根手指触摸屏幕。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

一根手指或多根手指在屏幕上一动(随着手指的一动,相关的对象会持续发送消息)

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

一根手指或多根手指离开屏幕

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

触摸操作正常结束前,有事件中断了此操作(有电话打进来)

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

当应用发生摸个触摸事件后(例如触摸开始、手指移动、触摸结束),系统都会将该事件添加至一个有UIApplication单例管理的事件队列。

UIGestureRecognizer

UIGestureRecognizer对象在识别手势时,会截取本应由其附着的视图自行处理的触摸事件。因此,附着了UIGestureRecognizer对象的视图可能不会收到常规的UIResponder消息,例如touchBegan:withEvent:

Paste_Image.png Paste_Image.png

UIMenuController

每个应用只有一个UIMenuController,使用此controller必须使相应的对象为第一响应者(becomeFirstResponder)。
如果实现某个UIResponderStandarEditActions协议方法,又不希望在UIMenuController对象显示相应的菜单项,可以覆盖**
canPerformAction: withSender:**然后针对相应的方法返回NO即可。

相关文章

网友评论

      本文标题:触摸事件 & UIResponder

      本文链接:https://www.haomeiwen.com/subject/hbzhjttx.html