0

NSScrollViewにカスタムNSViewがあります。NSScrollView(またはおそらくNSClipView)の周りにフォーカスリングを描画しようとしています。これにより、カスタムビューがドラッグドロップホバーを受信すると、スクロールビューにフォーカスが表示されます。一体どうやってこれを行うのですか?NSScrollViewをサブクラス化する必要はありません...そうですか?

4

1 に答える 1

0

2 つのアプローチ:

NSClipView サブクラス

NSClipView をサブクラス化し、実行時に交換します (驚くほど簡単です)。サブクラスは、その境界のすぐ内側に必要な効果を描画することにより、ドロップ検証メソッドに応答します。おそらく、クリップ ビューの境界から作成された四角形を持つ NSBezierPath です。

ドキュメント ビュー

ドキュメント ビュー (スクロール ビュー内のビュー) は、その -enclosingScrollview に -documentVisibleRect を要求し、上記の NSClipView サブクラス メソッドと同じように (つまり、ドラッグ アンド ドロップの検証メソッドが呼び出された場合と同じ描画アプローチ)、それ自体に長方形を描画します。 )。

于 2010-11-22T14:20:34.170 に答える