问题标签 [nscursor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
638 浏览

objective-c - 如何使用swift或objective-c以编程方式更改macosx cocoa应用程序中系统光标的大小?

我尝试使用以下代码设置它的全局大小:

而且我可以在 NSLog 中看到它更改了它,但我不知道如何重新启动/重置系统光标以使光标更改为指定的大小。

有谁知道以编程方式更改其大小的更好方法,或者在默认值更改后如何重新启动系统光标?

编辑(关于重复):我的问题是独一无二的,因为我不能像其他主题中提供的答案那样使用 applescript 来解决这个问题。此外,该主题是在 2013 年创建的,似乎已经过时了。也许从那以后事情发生了一些变化。也可能 Swift 是解决这个问题的可行解决方案。谁知道?所有这些论点都清楚地表明这不是一个重复的问题。

0 投票
0 回答
123 浏览

objective-c - 放大全屏 NSWindow 时 NSCursor 重置为 arrowCursor

我尝试在滚动缩放时更改光标。

它正常工作,直到我更改为全屏模式。当我将光标固定为箭头类型时。

我希望它像照片应用程序一样工作(在全屏模式下放大照片时)。

0 投票
1 回答
53 浏览

drag - AppKit中检测鼠标是否被拖动

我有一个带有跟踪区域的视图,它根据鼠标在视图中的位置更改鼠标光标。同样的视图也是特定类型文件的拖动目的地。

当我将文件(例如从 Finder)拖到此视图中时,绿色加号图标会短暂显示在光标旁边,但一旦跟踪区域更新光标后就会消失。有什么方法可以告诉我正在拖动鼠标并且如果是则不更新光标?

0 投票
2 回答
759 浏览

macos - 如何检测 OSX 上的当前系统光标?

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

我经历过类似的问题如何在 Mac OS X 中获取当前类型的鼠标光标?但在那里没有找到任何方法。

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

0 投票
1 回答
1152 浏览

swift - 不移动鼠标后在 Mac 应用程序中隐藏鼠标

我目前正在使用 Swift 为 Mac 制作幻灯片应用程序。在这个应用程序中,我想在幻灯片运行时隐藏鼠标,并且有一段时间没有移动鼠标,就像在 Quick Time Player 中所做的那样。

现在我尝试了很多使用NSCursor.hide()and 和NSCursor.unhide()as的方法NSCursor.setHiddenUntilMouseMoves(),但没有一个很有效。

首先,我无法让它在我的主 ViewController 中调用 mouseMoved 函数,其次NSCursor.setHiddenUntilMouseMoves(),即使我根本没有触摸我的触控板,它似乎也并不总是有效。就在更改幻灯片中图像的代码之后,我看到图像正在更改,但是使用调试器时,当光标未隐藏时,它不会在该代码行上停止。

有人可以向我展示如何使其工作的一般方法吗?我很确定这不是一件异国情调的事情,而且有比我正在尝试的更简单的方法来做到这一点。

以下是我尝试过的:

提前非常感谢!

0 投票
1 回答
302 浏览

macos - 如何全局更改 NSCursor?

我正在开发一个具有多个窗口和视图(NSTextView等)的应用程序。

我想在我的应用程序中全局更改光标,这样即使光标进入trackingRect(例如)NSTextView它也不会改变。

这可能吗?


PS:我还需要恢复到通常的行为。

0 投票
1 回答
138 浏览

objective-c - 取消隐藏光标滞后

我有一个弹出窗口的一部分,我用线条绘制了一个自定义光标。因此,我不希望标准光标显示在某个区域(isInDiagram)内。

这是我的代码:

现在隐藏光标工作得很好,但取消隐藏总是滞后。我无法弄清楚最终触发光标再次显示的原因。但是,如果我循环取消隐藏命令取消隐藏工作:

有什么想法可以在不使用这个丑陋的循环的情况下解决这个问题吗?

0 投票
0 回答
100 浏览

macos - OSX:控制 NSCursor 上的红色项目计数徽章在拖动过程中出现的位置

我的应用程序接受来自其他应用程序的拖动,在拖动其窗口期间必须选择自己的光标。

例如,dragLinkCursor即使用户没有按住 option 和 cmd 键,它也必须能够显示,或者operationNotAllowedCursor在某些其他情况下显示。

如果用户拖动单个项目,这会很好地工作。但是,如果用户从Finder中拖动多个项目,例如几个文件,光标也会获得一个红色徽章,显示其中的项目数。那个红色的徽章出现在我选择的光标所在的位置,与它重叠。这不好。

除了制作我自己的光标形状,将自己的徽章放在不同的位置,我预测操作系统拖动处理程序将根据按下的修饰符决定在哪里放置红色徽章......

有没有办法让红色徽章出现在特定位置(例如始终向右 20 像素,这样它就不能与默认光标重叠),或者完全抑制它,这样我就可以在鼠标光标时添加我自己的在我的窗户里?

0 投票
2 回答
608 浏览

macos - 如何禁用我的应用程序中的所有 NSCursor 更新?

在我的 macOS 应用程序中,我有一个自定义 WebView。当用户将鼠标光标移动到 WebView 网页中的不同元素上时,例如文本、链接等(我认为这些元素是作为子视图实现的),光标会根据元素的类型自动更新。

我的要求是我想为 WebView 设置一个自定义光标(如果可能的话,甚至为我的整个应用程序),并且不要让它发生任何变化,至少在我以编程方式在代码的其他部分中更改它之前。我试图在 AppDelegate 的applicationDidFinishLaunching:方法中设置 NSCursor,但它会立即重置。

我尝试了许多解决方案,例如设置一个NSTrackingArea,发送disableCursorRects到我的NSApplicationNSWindow,甚至监视游标更新事件,但没有太大成功。

那么有没有办法在我的应用程序中禁用所有 NSCursor 更新?我会将它设置为我的自定义光标,applicationDidFinishLaunching:并希望它在应用程序运行时保持不变,或者我在代码中更改它。

0 投票
1 回答
147 浏览

cocoa - NSImage加载的Windows光标.cur中的热点?

根据图像的 Cocoa 绘图指南文档,NSImage 可以加载 Windows 光标 .cur 文件。

但是如何获得 NSCursor 所需的热点- initWithImage:(NSImage *)newImage hotSpot:(NSPoint)point;