2012-03-20 10 views
0

半透明のツールチップのサブタイトルを持つNSViewがあります。ツールチップが画面上に描かれると、それはフォームの上に描画されるので、それはNSTextFieldの2つをカバーします。NSTextField上に配置されたNSView上のカーソル

NSTextFieldが存在する場所でツールチップ上にマウスを置くと、カーソルが入力スタイルのカーソルに変わります。

カーソルが変更されないようにするにはどうすればよいですか?

答えて

1

重複するビューは実際にはCocoaではうまくサポートされておらず、動作は未定義です。

代わりに、ツールチップのビューは、自分のビューを格納するのに十分な大きさの境界線のないウィンドウにする必要があります。ツールヒントウィンドウは、それが接続されているメインウィンドウの子ウィンドウでなければなりません。ウィンドウを別のウィンドウの子にするには、NSWindowaddChildWindow:ordered:メソッドを使用します。

親ウィンドウに子ウィンドウが添付されており、親ウィンドウが移動するとその親ウィンドウと共に移動します。子ウィンドウを作成せずに新しいウィンドウを開くだけであれば、別のウィンドウが移動されると「残っている」ことになります。

境界線のないウィンドウを作成するには、をstyleMaskとしてinitWithContentRect:styleMask:backing:defer:の方法をNSWindowに渡します。

+0

ツールチップがNSScrollView内の要素にアタッチされていても機能しますか? – Christoffer

+1

ウィンドウを管理するのはあなたの責任です。さまざまなサイズ変更/スクロール通知を聞いて、それに応じてウィンドウを更新する必要があります。 –

関連する問題