3

我有一个 NSScrollView 将 NSView 设置为它的文档视图。我试图在 NSScrollView 中获取 mousedown 事件,但 NSView 一直在拦截它。有没有办法阻止这种情况发生?

还有一种方法可以在视图的一个区域中停止它,就像 NSTrackingArea 对 mouseentered 所做的那样。

提前致谢,

4

1 回答 1

3

您可以-mouseDown:在子视图中覆盖以将事件转发给下一个响应者吗?

您也可以通过覆盖超级视图-hitTest:来返回其自身(当您不希望子视图接收事件时)或子视图(在子视图包含事件位置的所有其他情况下)。

至于你的最后一个问题,你也可以做到这一点-hitTest:self如果事件发生在子视图的“禁区”中,只需返回。

如果您走这条路线,请务必注意在任何给定时间使用的坐标系,并根据需要在它们之间进行转换。

于 2012-03-22T22:54:46.517 回答