Q:-mouseEntered: および -mouseExited: メッセージを受信して、視覚的なフィードバックをユーザに提供できるように、トラッキング矩形を実装しようとしています。そこで -addTrackingRect:owner:userData:assumeInside: メッセージをビューに送信しましたが、効果がないようです。
A:この現象は通常、ビューがウインドウに追加される前に、トラッキング矩形を設定しようとしたときに生じます。
NSView は -addTrackingRect:owner:userData:assumeInside: メソッドを実装しますが、トラッキング矩形のリストはビューではなく、ウインドウに保持されます。-initWithFrame: メソッドの実行時に、ビューはまだウインドウと関連付けられていないため、ビューは実際にトラッキング矩形を設定できません。
-addTrackingRect:.. メッセージを送信する場所として、より適しているは、-viewDidMoveToWindow: または -awakefromNib メソッドの中です。
ドキュメントの改訂履歴
掲載日: 2004-11-24 |