3

たとえば、下の赤い点をクリックすると:

前

次の選択解除が発生するようにします。

ここに画像の説明を入力

データ ソースと選択インデックスの両方にバインディングを使用して、ビューベースの NSOutlineView をセットアップしました。これまでのところ、TableCellView becomeFirstResponder をオーバーライドし、NSOutlineView の becomeFirstResponder もオーバーライドしようとしましたが、NSOutlineView が実際にファーストレスポンダーのステータスを放棄することはないようです。

アドバイスをいただければ幸いです。

4

3 に答える 3

4

このトピックに関する投稿を見つけました。解決策は、クリックが行にあるかどうかを判断できるように、のサブクラスを作成してNSOutlineViewオーバーライドすることであるように見えます。mouseDown:クリックが行にあるとき、あなたはただスーパーにディスパッチします。そうでない場合は、に送信deselectAll:しますNSOutlineView

私自身は試していませんが、同等のコードを思い付くさまざまな投稿があります。

于 2012-07-15T17:07:33.837 に答える