インターフェイスビルダーでカスタムクラスを設定することにより、NSOutlineView のセルをサブクラス化しました。
セルを構成するために、このデリゲート メソッドを実装しました。
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item
また、カスタム セル クラスにこのメソッドを実装しました。
- (NSUInteger)hitTestForEvent:(NSEvent *)event inRect:(NSRect)cellFrame ofView:(NSView *)controlView
セルをクリックするたびに2回呼び出されます。なぜ一度だけではないのだろうと思います。イベント タイプは常に MouseDown です。
これが問題かどうかはわかりませんが、セルに親または子がない場合でも、2 回呼び出されます。したがって、セル階層にすることはできません。
セルの特定の領域がクリックされたときにアクションをトリガーするために hitTestForEvent に依存できない場合、どのメソッドを使用すればよいですか?
ありがとう