一个窗口对象(NSWindow)处理窗口级别的事件(window-level events)以及将其他事件传递给窗口中的视图对象,同时一个NSWindow还允许通过它的delegate实现自定义窗口的行为方式...如果你要避免这种情况,可以通过重写NSView的acceptsFirstMouse: 方法,并返回YES
NSView 通常会自动接收鼠标点击和鼠标拖拽事件,而不会主动接收鼠标移动事件.因为鼠标移动事件发生的太过频繁....在Cocoa 的一些类中,比如 NSButton, NSMenu, NSMatrix, 和 NSSavePanel 都提供了默认的响应处理.....这些交互的控件顺序你可以通过(Xcode中的)Interface Builder来构建也可以通过代码来控制(使用NSView的 setNextKeyView: 和 nextKeyView 方法)
关于控制键的更详细内容...关于键盘事件的派发与处理细节,大家可以查看苹果官方文档Handling Key Events
其他事件派发
在应用程序中,我们可以使用NSTrackingArea类添加一个监控区域,这些事件NSWindow