我有一个半透明的 NSView
子类,充当一种工具提示。当工具提示在屏幕上绘制时,它会绘制在表单顶部,因此它会覆盖几个 NSTextField
。
当我将鼠标悬停在 NSTextField 所在位置的工具提示上时,光标会更改为输入样式光标。
如何防止光标改变?
最佳答案
Cocoa 中并没有很好地支持重叠 View ,并且行为未定义。
相反,您的工具提示 View 应该位于其自己的无边框窗口中,该窗口足够大以包含您的 View 。工具提示窗口应该是它所附加的主窗口的子窗口。要使一个窗口成为另一个窗口的子窗口,可以使用 NSWindow
的 addChildWindow:ordered:
方法。
子窗口附着在父窗口上,当父窗口移动时,子窗口也会随之移动。如果您只是打开一个新窗口而不将其设为子窗口,那么如果移动另一个窗口,它将“落后”。
要创建无边框窗口,请将 NSBorderlessWindowMask
作为 styleMask
传递给 的
.initWithContentRect:styleMask:backing:defer:
方法NSWindow
关于macos - NSView 上的光标放置在 NSTextField 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795214/