2011-07-05 5 views
3

NSViewをロールオーバーまたはクリックすると、ビューの色やその他のプロパティを変更できるようにビューを更新するにはどうすればよいですか?私が必要とすることの鍵となるビューの再描画です。すでにサブクラスを作成しています。ロールオーバー/クリック時にNSViewをハイライト表示

+0

あなたはどのようにあなたの意見を参考にしていますか?コレクションビューを使用していますか? –

答えて

2

マウスイベントをリッスンし、その中で適切なアクションを実行します。

-(void)mouseEntered:(NSEvent *)theEvent { 
    //draw rollover 
} 

-(void)mouseExited:(NSEvent *)theEvent { 
    //draw normal 
} 

-(void)mouseDown:(NSEvent *)theEvent { 
    //draw selected 
} 

-(void)mouseUp:(NSEvent *)theEvent { 
    //draw normal 
} 
+0

うーん、これは動作しません。 –

+0

@alexgray:何が問題なのですか?メソッドは呼び出されませんか?ウィンドウのサブクラスが 'NSWindowDelegate'に準拠していることを確認する必要があります。 –

+2

-mouseDownと-mouseUpは期待どおりに動作するはずです。しかし、-mouseEnteredと-mouseExitedにはtrackingAreasが必要です。 http://stackoverflow.com/a/11190700/388412を参照してください。 – auco

関連する問題