0
我有一個半透明的NSView
子類,它充當了一種工具提示。當在屏幕上繪製工具提示時,它將繪製在表單的頂部,因此它涵蓋了NSTextField
的幾個。NSView上的光標放置在NSTextField上
當我將鼠標懸停在NSTextField所在位置的工具提示上時,光標變爲輸入樣式光標。
如何防止光標發生變化?
我有一個半透明的NSView
子類,它充當了一種工具提示。當在屏幕上繪製工具提示時,它將繪製在表單的頂部,因此它涵蓋了NSTextField
的幾個。NSView上的光標放置在NSTextField上
當我將鼠標懸停在NSTextField所在位置的工具提示上時,光標變爲輸入樣式光標。
如何防止光標發生變化?
Cocoa中並沒有真正支持重疊視圖,並且行爲未定義。
相反,您的工具提示視圖應該位於其自己的無邊框窗口中,足以容納您的視圖。工具提示窗口應該是它所連接的主窗口的子窗口。要使窗口成爲另一個窗口的子窗口,請使用NSWindow
的addChildWindow:ordered:
方法。
子窗口附加到父窗口,並在父窗口移動時隨其父窗口移動。如果您只是打開一個新窗口而不使其成爲一個子窗口,那麼如果其他窗口被移動,它將被「留下」。
要製作無邊界窗口,請將NSBorderlessWindowMask
作爲styleMask
轉換爲NSWindow
的initWithContentRect:styleMask:backing:defer:
方法。
即使工具提示附加到NSScrollView中的元素,它也能工作嗎? – Christoffer 2012-03-21 06:51:38
這是你的責任來管理窗口。您需要聽取各種調整大小/滾動通知並相應地更新窗口。 – 2012-03-21 08:02:04