1

カスタムデータソースを含むNSOutlineViewがあります(これが適切かどうかはわかりません)。

列が1つしかないので(これが適切かどうかはわかりません)、セルの選択時に特定のアクションを実行したいので、outlineViewSelectionDidChangeをオーバーライドする必要があると思いました。これは私がしたことです:

-(void)outlineViewSelectionDidChange:(NSNotification *)notification
{
    NSLog(@"selection changed");
}

しかし、これは機能していません。私はIBで、アウトラインビュー、テーブル列、およびテキストフィールドセルのプロパティを試してみましたが、これまでのところうまくいきませんでした。この状況を引き起こしたプロパティを変更したのか、それとも特定の実装に固有のものなのかはわかりません。

だから、誰かが私が欠けているかもしれないものについて何か手がかりを持っていますか?

編集:OutlineView内の選択の概念を誤って解釈した場合に備えて、展開矢印の領域の外側のテキストをクリックするだけでセルが選択されることを期待していました。

4

1 に答える 1

2

長い苦労の末、いつものように、質問を投稿した直後に答えが見つかりました。問題は、NSPanelでNSOutlineViewを使用していて、どういうわけかNSPanelがセルの選択を許可していないことです。NSOutlineViewをNSWindowに移動するだけで、意図したとおりに機能します。

于 2012-05-31T21:40:59.310 に答える