如何在 MacOS 上使用 Swift 获取鼠标点击坐标?

How could I get mouse click coordinates using Swift on MacOS?

我试图找出有关获取鼠标单击坐标以绘制一条线的信息。我想点击两次(第一个和第二个点),然后会创建一条线。

我分析了很多代码,但是都很大(比如我就喜欢这种方式)。

希望 Swift 中的画线不难。我可以输入另一个具有鼠标点击坐标而不是数字坐标的变量吗(请看下面的代码)?如果你的答案是正确的,如何编码呢?请帮助我,让它更简单。

import Cocoa

class DrawLine: NSView {
    override func draw(_ dirtyRect: NSRect) {
    NSBezierPath.strokeLine(from: CGPoint(x: 20, y: 20), to: CGPoint(x: 0, y: 100))
    } 
}

侦听鼠标按下事件并使用它设置开始位置和结束位置以绘制路径。

import Cocoa

class DrawLine: NSView {
    var startPoint:NSPoint?
    var endPoint:NSPoint?
    override func mouseDown(with event: NSEvent){
        if startPoint == nil || self.endPoint != nil{
           self.startPoint = event.locationInWindow
        } else {
          self.endPoint = event.locationInWindow
          self.needsDisplay = true
        }
    }
    override func draw(_ dirtyRect: NSRect) {
        if let theStart = startPoint, let theEnd = endPoint{
           NSBezierPath.strokeLine(from: theStart, to: theEnd)
        }
    }
}