5

A = 父 NSView;B = 子 NSView;

B 有一个小的 NSTrackingArea;B是A的一个小子视图;

如果在空白区域中移动、单击、拖动,则 A 正确接收 mouseMoved 和 mouseDragged 事件。

如果我在 B 中单击并将鼠标拖到 A 的边界之外,则 A 不会收到任何 mouseMoved 或 mouseDragged 事件。

有人可以指出我可以做些什么来让超级视图 A 对这种阻力做出反应吗?

4

1 回答 1

0

我观察到了这一点,我可以通过以下方式解决它:

  1. 创建一个 NSViewController 并将 viewA 设置为其“view”属性。
  2. 就我而言,我在视图控制器中实现了 mouseDragged,但您可以尝试查看视图并查看您得到的结果。mouseEntered 和 mouseExited 在视图子类中实现。

提示:确保根据需要更新跟踪区域边界。希望这可以帮助。

于 2020-03-24T17:04:38.023 回答