0

カーソルがビュー内にあるときにカーソルを変更しようとしています。問題は、カーソルが時々自動的にデフォルトにリセットされることです (たとえば、通知ポップアップが表示される場合)。

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()
    }
        
}

私の知る限りNSWindowdisableCursorRects()他のプロセスによるカーソルの変化を止めることになっています。もしかして私の使い方が悪いのでしょうか?

4

0 に答える 0