目前,当涉及到按钮(NSButton
)时,我有一个小问题,这些按钮在这些按钮上方有一个跟踪区域和视图(NSView
覆盖),这是我的设置:
自定义按钮:
class AppButton: NSButton {
override func updateTrackingAreas() {
super.updateTrackingAreas()
let area = NSTrackingArea(
rect: self.bounds,
options: [.mouseEnteredAndExited, .activeAlways],
owner: self,
userInfo: nil
)
self.addTrackingArea(area)
}
override func mouseEntered(with event: NSEvent) {
NSCursor.pointingHand.set()
}
override func mouseExited(with event: NSEvent) {
NSCursor.arrow.set()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
这个按钮类的一个实例是非常基本NSView
的。
当我将鼠标悬停在按钮上时,光标会正确更改。
当我单击按钮时,按钮NSView
上方会打开一个新的覆盖()...
这是问题开始的地方:
当我将鼠标悬停在放置按钮的覆盖层上时,光标仍然会改变......
我不知道 aNSTrackingArea
正在浏览所有视图..
我该如何解决这个问题?
我可以在 overlay( NSView
) 上设置任何属性以某种方式禁用NSTrackingArea
按钮上的 吗?
谢谢!!