我试着找出有关获取鼠标点击坐标以画线的信息。我想点击两下(第一个和第二个点),然后创建一条线。
我分析了很多代码,但它们很大(例如,我喜欢这种方式https://stackoverflow.com/a/47496766/9058168)。
我希望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))
}
}
答案 0 :(得分:0)
侦听鼠标按下事件并使用它来设置起始位置和结束位置以绘制路径。
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)
}
}
}