Objective c NSView添加子视图后的鼠标事件

Objective c NSView添加子视图后的鼠标事件,objective-c,cocoa,nsview,Objective C,Cocoa,Nsview,将子视图添加到NSView后,鼠标事件将响应NSView区域减去addedSubVIew。我怎样才能避免呢?我希望它在所有superview上都有响应。 谢谢。您可以覆盖子视图[NSView hitTest:方法并返回superview - (NSView *) hitTest: (NSPoint) aPoint { return [self superview]; } 还可以在容器视图中实现hitTest:方法 - (NSView *) hitTest: (NSPoint) aPoi

将子视图添加到NSView后,鼠标事件将响应NSView区域减去addedSubVIew。我怎样才能避免呢?我希望它在所有superview上都有响应。
谢谢。

您可以覆盖子视图
[NSView hitTest:
方法并返回superview

- (NSView *) hitTest: (NSPoint) aPoint {
    return [self superview];
}

还可以在容器视图中实现hitTest:方法

- (NSView *) hitTest: (NSPoint) aPoint {
    return [super hitTest:aPoint] ? self : nil;
}

现在只有容器视图可以接收鼠标事件。

谢谢,但是有没有更好的方法,因为我有一个nsimageview、nstextfield和nstextview,我不想为了重写这个方法而对它们进行子类化。再次感谢。