iOS事件处理指南(一)

关于iOS事件

用户操作iOS设备有多种方法,像触摸屏幕和摇晃设备。iOS系统翻译用户何时和怎样操作硬件,并把操作信息传递给你的应用。你的应用越是通过自然和直觉的方式响应动作,越是能激发用户的使用体验。

概述

事件是对象发送到一个应用程序通知用户操作。在iOS中,事件可以采用许多形式:多点触摸事件、移动事件和控制多媒体事件。最后的事件类型就是我们熟知的通过外部附件远程控制事件。

UIKit使你的应用发现手势变的容易

iOS应用识别触摸的组合并且通过直觉的方式响应给用户,例如在内容上缩放以响应捏合手势和滚动以响应轻拂事件。事实上,一些手势非常普遍,它们都是建立在UIKit上。例如,UIControl的子类,像UIButton和UISlider,分别响应特定的事件----在按钮上的轻敲、在滑块儿上的拖拽。当你设置这些控制单元,当特定的触摸发生时,这些控制单元会发送动作消息到目标对象。通过使用手势识别器你可以在视图上使用target-action机制。当你附加一个手势识别器到一个视图,视图就相当于一个控制单元来响应你所指定的任何手势。手势识别器为复杂的事件处理逻辑提供更高级别的抽象。因为手势识别器是强大的、可复用的和能适应的,所以在你的应用中实现触摸事件的处理使用手势识别器是你的首选。你可以使用内置的手势识别器并且定制它的行为,或者你创建你自己的手势识别器来识别新的手势。

相关章节:

一个事件沿着特殊的路径旅行来查找处理它的对象

当iOS识别一个事件,它把事件传递到跟处理该事件似乎是最相关的初始对象,例如一个触摸事件所发生的视图。如果初始对象不能处理该事件,iOS继续讲事件传递到更大范围的对象,直到找到一个对象有足够的上下文来处理事件。这条对象的序列就是响应链(responder chain),iOS传递事件验证这条链,它也转移响应事件的责任。这个设计模式使事件处理合作的和动态的。

相关章节。

一个UIKit封装一个触摸、摇动或远程控制事件

许多事件是UIKit中UIEvent类的实例。一个UIEvent包含事件的信息,你可以根据UIEvent决定如何响应事件。当用户一个动作产生,像手指触摸屏幕并沿着屏幕移动,iOS持续发送事件对象到一个应用上处理。每个事件都有一个类型:触摸、摇晃移动、或远程控制和子类型。

一个应用在用户触摸它的视图时接收多点触摸事件

取决于你的应用,UIKit控制单元和手势识别器可以充分处理你的应用所有的触摸事件。即使你的应用有自定义的视图,你也可以使用手势识别器。一般说来,当你的应用响应一个跟视图自身紧紧耦合的触摸时,你写你自己的触摸事件处理,例如触摸下的绘画。在这些情况下,由你负责低级别的事件处理。你实现那些触摸方法,在这些方法中,你分析原始的触摸事件并适当地响应。

应用在用户操作多媒体控制单元时接收远程控制事件

iOS控制装置和外部附件发送远程控制事件到一个应用上。这些事件允许用户控制音频和视频。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值