首页 > 解决方案 > 添加跟踪区域时向实例发送无法识别的选择器

问题描述

我在 NSPanel 中有一个 NSImage,我想在其中获取鼠标 X、Y 坐标。

如果我将 NSImage 层内容设置为layer.content =splitNSImage(其中 splitNSImage 是从 URL 创建的 NSImage)然后

NSRect layerBounds = [layer bounds];
NSTrackingAreaOptions options = (NSTrackingActiveAlways|NStrackingInVisibleRect|NSTrackingMouseEnter|
NSTrackingMouseExit|NSTrackingMouseMoved);
NSTrackingArea *trackingArea = [[NSTrackingArea alloc] initWithRect:layerBounds owner:self userinfo:nil];
[[layer contents] addTrackingArea:trackingArea];

我在最后一行收到运行时错误“Thread 1:”-[NSImage addTrackingArea:]: Unrecognized selector sent to instance 0x600003335400”。

如果我使用 use[NSPanel contentView] 而不是[layer contents]它可以正常工作,但在面板而不是 imageView 中提供鼠标坐标(在 MouseMoved 事件中)

标签: objective-cmacosunrecognized-selectornstrackingarea

解决方案


推荐阅读