免责声明;在 Swift/macOS 开发方面几乎不是新手。
macOS 上的Ctrl+Shift+4屏幕截图工具有一个伴随的光标变化,我一直在寻找一种复制方式。
在其初始启动状态下,它是一个带有像素坐标的十字准线,然后通过按空格将其切换到窗口捕获,将光标更改为相机。
无论您是否选择其他应用程序,光标都会保持全局变化。
我试图通过创建具有 .floating 级别的透明全屏 NSWindow 并更改内容视图的光标来复制此行为。
这行得通,有点……但有一些烦人的怪癖。
首先,视图的不透明度似乎不能严格为零,但至少有一部分 >= 0.01。我在NSView的文档中没有提到这一点,但这里提到了UIView 。对于内置的截图工具,似乎没有任何 0.01 alpha 覆盖。
其次,切换到任何应用程序时,.floating窗口仍然在顶部,但会使视图失去焦点,这意味着光标会返回默认值。在这种情况下,内置的截图工具有一个很短的延迟,当一个新的应用程序出现在前面时,然后再次将光标更改为自定义的。
我是否采取了完全错误的方法,或者我只需要扭转一些旋钮和刻度盘,这个就可以工作了吗?
非常感谢任何指针!