2

インターフェイスビルダーでカスタムクラスを設定することにより、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 に依存できない場合、どのメソッドを使用すればよいですか?

ありがとう

4

1 に答える 1