NSView上的光标放在NSTextField上

时间:2012-03-20 21:25:20

标签: macos cocoa osx-lion

我有一个半透明的NSView子类,可以作为一种工具提示。当工具提示在屏幕上绘制时,它会在表单上绘制,因此它会覆盖几个NSTextField的。

当我将鼠标悬停在存在NSTextField的位置的工具提示上时,光标会变为输入样式光标。

如何防止光标改变?

1 个答案:

答案 0 :(得分:1)

在Cocoa中,重叠视图并不是很受支持,并且行为未定义。

相反,您的工具提示视图应位于自己的无边框窗口中,大小足以包含您的视图。工具提示窗口应该是它所附加的主窗口的子窗口。要使窗口成为另一个窗口的子窗口,请使用addChildWindow:ordered:的{​​{1}}方法。

子窗口附加到父窗口,并在父窗口移动时随父窗口移动。如果您只是打开一个新窗口而不使其成为子窗口,如果移动另一个窗口,它将“留下”。

要制作无边框窗口,请将NSWindow作为NSBorderlessWindowMask传递给styleMask的{​​{1}}方法。