我试图在光标位于视图内时更改光标。问题是光标有时会自动重置为默认值(例如,当出现通知弹出窗口时。)
class DrawingView : NSView{
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
// Drawing code here.
}
override func updateTrackingAreas() {
let area = NSTrackingArea(rect: self.frame, options: [.cursorUpdate,.activeAlways,.inVisibleRect], owner: self, userInfo: nil)
self.addTrackingArea(area)
}
override func cursorUpdate(with event: NSEvent) {
NSCursor.crosshair.set()
NSApp.keyWindow?.disableCursorRects()
}
}
据我所知NSWindow
,disableCursorRects()
应该阻止光标因其他进程而改变。也许我用错了?