相关疑难解决方法(0)

在NSImageView SubClass中未调用mouseEntered和mouseExited

我创建了NSImageView捕获mouseEnteredmouseExited事件的子类.但只有mouseUpmouseDown事件获取调用.如何捕获mouseEnteredmouseExited在事件NSImageView子类?

macos cocoa objective-c nsimageview

30
推荐指数
3
解决办法
1万
查看次数

NSTrackingArea工作奇怪 - 整个视图,或什么都没有......没有任何矩形受到尊重

在我的视图的"InitWithFrame"方法中,我正在设置一个跟踪区域,我想要捕获鼠标进入/退出事件.
我的问题有两个:

  1. 如果没有NSTrackingInVisibleRect,则根本不会调用事件.
  2. 无论我把它放在什么"矩形"上,覆盖整个视图的框架或仅占据其中一小部分的框架 - 无论鼠标光标位于何处,都会为整个视图调用鼠标进入/退出事件.视图.

这是我初始化跟踪区域的方式:

trackingArea = [[NSTrackingArea alloc] initWithRect:rect
  options: (NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingActiveAlways )
  owner:self userInfo:nil];
[self addTrackingArea:trackingArea];
Run Code Online (Sandbox Code Playgroud)

任何线索为什么会发生这种情况?我希望只为我视图的一小部分(底部)调用鼠标进入/退出事件.

macos cocoa

1
推荐指数
1
解决办法
1845
查看次数

标签 统计

cocoa ×2

macos ×2

nsimageview ×1

objective-c ×1