objective-c - 添加跟踪区域时向实例发送无法识别的选择器
问题描述
我在 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 事件中)
解决方案
推荐阅读
- rpm-maven-plugin - maven post-remove 尝试删除映射文件
- vba - VBA Classes not executing from collection of dynamically created form objects
- node.js - 尝试通过 Docker 连接到 MongoDB 时出现 storeKey 不匹配
- c# - 从 Blazor (wasm) 调用 gRPC 时忽略证书错误
- django - 如何过滤foreign_key表单的列表并更改Django admin中的显示名称?
- java - 尝试将数据添加到 Firebase 时出现 @Override、getException 和 @NonNull 的 Android Studio 错误 - 我需要准确的代码吗?
- jenkins - 如何在 Jenkins 中运行 cppcheck?
- swift - NSExpresseion,确定从左关联操作
- java - 如何解决实时数据库应用程序中的表元数据锁定
- swiftui - SwiftUI, 'Fatal error: Unexpectedly found nil while unwrapping an Optional value' message