NSOutlineView
任意の要素を右クリックしたときにコンテキスト メニューとして表示されるメニューを作成しました。
今、私は2つの問題を抱えています。
- コンテキスト メニューの任意の機能に応じて動作するために、右クリックされた要素を特定するにはどうすればよいですか。
- 右クリックした要素に応じてメニュー項目を削除または無効にするために実際に開く前に、コンテキスト メニューを変更するにはどうすればよいですか?
NSOutlineView
任意の要素を右クリックしたときにコンテキスト メニューとして表示されるメニューを作成しました。
今、私は2つの問題を抱えています。
clickedRow
メソッド (から継承)はNSTableView
、行番号を提供します。
行番号は、 を使用して項目に変換できNSOutlineView
ますitemForRow
。
メニュー部分については、メニューが表示される直前にNSMenuDelegate
メソッドが呼び出されるので、必要に応じて変更できます。menu:updateItem:atIndex:shouldCancel:
docsによると、も実装する必要がありますnumberOfItemsInMenu:
。
アウトライン ビューとメニューの両方に同じオブジェクトをデリゲートとして設定できます。