【问题标题】:How to detect current system cursor on OSX?如何检测 OSX 上的当前系统光标?
【发布时间】:2016-12-20 11:52:41
【问题描述】:

有没有办法知道 mac/OSX 上的当前系统光标是什么?我知道我们可以使用[NSCursor currentSystemCursor] 调用来获取当前光标。但这并不能告诉我们当前光标是什么。支票 if ([[NSCursor currentSystemCursor] isEqual:[NSCursor arrowCursor]]) 总是失败。即使是检查 if ([[NSCursor currentSystemCursor] isEqual:[NSCursor currentSystemCursor]]) 也总是返回零。

我已经解决了类似的问题How to get current type of mouse cursor in Mac OS X?,但没有找到任何方法。

对此的任何帮助表示赞赏。提前致谢。

【问题讨论】:

    标签: macos cocoa cursor nsobject nscursor


    【解决方案1】:

    很遗憾没有。

    您可以做的是获取光标图像并将该图像与已知光标(箭头、工字梁等)的图像进行比较。

    但是,许多应用程序会提供每个光标的细微变化,因此您的检查永远不会详尽,除非您不断更新应用程序以了解越来越多的光标变化。

    您甚至可以构建一个算法来分析光标图像以进行启发式分类。

    这听起来很老套,我知道。但它确实有效。有点。

    【讨论】:

      【解决方案2】:

      我能够使用双等号使其工作。

      例如:

      [NSCursor currentCursor] == [NSCursor arrowCursor]
      

      返回我期望的结果。令人讨厌的是,您不能只查询类型,但至少这可以设置条件断点和类似的东西。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-23
        • 1970-01-01
        • 2018-12-07
        • 1970-01-01
        • 2021-08-15
        • 2011-05-14
        相关资源
        最近更新 更多