从macOS屏幕截图工具复制光标行为

时间:2019-04-23 12:47:22

标签: swift cocoa nsview nswindow nscursor

免责声明;在Swift / macOS开发方面几乎不是新手。


macOS上的 Ctrl + Shift + 4 屏幕截图工具具有伴随的光标更改,我一直在寻找一种复制方法。

在初始启动状态下,它是具有像素坐标的十字准线,然后通过按空格键将其切换为窗口捕获,将光标更改为相机。

无论您是否跳至其他应用程序,光标都会全局更改。

我试图通过创建具有 .floating 级别的透明全屏 NSWindow 并更改内容视图的光标来复制此行为。

这行得通,有点...但是有一些令人讨厌的怪癖。

首先,视图的不透明度似乎不能为严格的零,但至少要大于等于0.01。我没有在 NSView 的文档中提到这一点,但在 UIView here中提到了这一点。对于内置的屏幕截图工具,似乎没有任何0.01 Alpha叠加层。

其次,在所有应用程序上切换后, .floating 窗口仍位于顶部,但会使视图失去焦点,这意味着光标将恢复为默认状态。在这种情况下,当出现一个新应用程序时,内置的屏幕截图工具会有非常短的延迟,然后再次将光标更改为自定义光标。

我是采用完全完全错误的方法,还是只需要扭动一些旋钮和转盘才能使该旋钮起作用?

任何指针都很感激!

0 个答案:

没有答案