アウトラインビューのマウスイベントを取得するには:
- アウトラインビューをサブクラス化します。
- Interface Builder(IB)>ライブラリパネル>クラスタブでNSOutlineViewを選択します
- NSOutlineViewを右クリックして、[新しいサブクラス...]を選択します。
- [ソースファイルの生成]を選択して次のポップアップウィンドウに入力し、プロジェクトにファイルを追加します
- NSOutlineViewを選択します
- インスペクターパネル>IDタブ>クラスID>クラスで新しいクラスを選択します
マウスイベントメソッドを実装する
Xcodeで>アウトラインビューの新しいサブクラス>実装(.m)ファイルにメソッドを入力します。例:
(void)mouseDown:(NSEvent *)theEvent {
/* CODE YOU WANT EXECUTED WHEN MOUSE IS CLICKED */
NSLog(@"Mouse down occurred");
// call this to get the usual behaviour of your outline
// view in addition to your custom code
[super mouseDown:theEvent];
}
を使用してマウスイベントを取得できることを知っておくと便利な場合があります[NSEvent modifierFlags]
。これは、アウトラインビューだけでなく、アプリ全体のビューでも機能します。たとえば、ウィンドウコントローラ(質問で参照)に、次のようなコードを含めることができます。
if ([NSEvent modifierFlags] == NSAlternateKeyMask) { // if the option key is being pressed
/*SOME CODE*/
}