什么是响应链
响应链是一种消息处理机制,它是由一组有序的响应者对象组成的链条.当消息进入响应链条后,由响应者对象依次判断是否能够处理该消息,当一个响应者对象不能处理此条消息时,它会将消息传递给它的继任者...答案是调用对象的acceptsFirstResponder方法获取结果;这个方法默认返回NO;如果某个响应者对象希望成为第一响应者,那么它需要重写这个方法,并返回YES;
需要注意的一个事件是:Mouse-moved...NSEvent addLocalMonitor
代码运行后,可以实现键盘事件的处理,但为了更细致的了解响应链过程,我们并不使用这个方案,那么我们再来回顾一下"Event Message"中对于键盘事件的描述...设置响应者
变更后的响应链如图:
?
修改后的响应链效果
代码运行后,点击键盘(功能键除外)可以看到ViewController的keyDown:方法正常输出:
?...答案:是改变第一响应者,因为键盘事件是从第一响应者开始的! 我们需要将响应链设置为下图的效果即可:(View获取键盘事件后如果自己不响应,就会依据响应链传递给ViewController)
?