gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:56:15 27 4
gpt4 key购买 nike

我尝试找出如何获取鼠标单击坐标来绘制一条线。我想单击两次(第一个和第二个点),然后将创建一条线。

我分析了很多代码,但是代码量很大(比如我就喜欢这种方式 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))
}
}

最佳答案

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

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

关于swift - 如何在 MacOS 上使用 Swift 获取鼠标点击坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47781561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com