如何在 SwiftUI 中控制 iPadOS 上的鼠标位置
Posted
技术标签:
【中文标题】如何在 SwiftUI 中控制 iPadOS 上的鼠标位置【英文标题】:How to control mouse position on iPadOS in SwiftUI 【发布时间】:2020-06-17 08:57:43 【问题描述】:我正在开发需要控制鼠标位置的应用程序。 我想指定鼠标坐标(x和y),并将光标移动到该位置。
但是,我找不到任何好的参考资料。 所以,请告诉我如何将鼠标光标移动到我们指定的位置。
【问题讨论】:
我不认为你应该能够以编程方式移动光标 感谢您考虑这个问题。我已经尝试了这个问题大约一个星期,但我找不到好的结果。似乎控制鼠标光标的功能并不是开发任何智能设备应用程序的必要部分。这就是为什么很难实现这样的功能。我会更多地尝试自己!非常感谢 【参考方案1】:取自 Apple 文档,唯一可用的类是 NSCursor,它可用于 macOS 10.0+ 和 Catalyst 13.2+。
NSCursor 提供hotSpot: NSPoint get
,这是不可变的。
描述热点位置的点,根据光标翻转的坐标系指定。有关光标热点的更完整说明,请参阅类概述。注意 NSCursor 对象是不可变的
所以唯一的机会就是初始化一个新的游标,在这里你可以指定一个新的NSPoint
游标。
init(image:hotSpot:) -> NSCursor object
使用给定的图像和热点初始化光标。
【讨论】:
感谢您的礼貌解释。这是在 macOS 中控制鼠标光标的一种方式,对吗?我也在 iPadOS 和 ios 中尝试过。我找到了一些在 macOS 中实现这种功能的方法。你有什么想法可以在 iPadOS 或 iOS 上实现它吗?【参考方案2】:使用 SwiftUI 2 可以捕获光标https://developer.apple.com/wwdc20/10617
【讨论】:
以上是关于如何在 SwiftUI 中控制 iPadOS 上的鼠标位置的主要内容,如果未能解决你的问题,请参考以下文章
iOS/iPadOS 中的 SwiftUI + DocumentGroup:如何重命名当前打开的文档
SwiftUI 2 - 如何防止顶部部分在 macOS 和 iPadOS 的列表中关闭