UIResponder类和第一响应者角色

时间:2011-11-01 02:04:42

标签: objective-c ios cocoa-touch first-responder uiresponder

我读了UIResponder班级参考:

  

有两种常见的事件:触摸事件和动作事件。

     

触摸的主要事件处理方法是touchesBegan:withEvent:,touchesMoved:withEvent:,touchesEnded:withEvent:和touchesCancelled:withEvent:...

但另一篇文章,iOS事件处理指南说:

  

第一个响应者是窗口中第一个接收以下类型的事件和消息的视图:动作事件,远程控制事件,动作消息,编辑菜单消息

所以我很困惑,第二个音符表示响应者只处理了四个事件 - 触摸事件没有被包括在内 - 而第一个音符表示响应者处理触摸事件。

请让我知道我的误解。

1 个答案:

答案 0 :(得分:3)

一次只有一个响应者是第一个响应者。此响应者首先查看您引用的四种事件类型。触摸事件始终首先转到触摸的视图。在您引用的段落之后的几段中解释了这一点:

  

当系统发出触摸事件时,它首先将其发送给   具体观点。对于触摸事件,该视图是返回的视图   hitTest:withEvent:;用于“摇动” - 运动事件,远程控制   事件,动作消息和编辑菜单消息,该视图是   第一响应者。