1

それがどのように起こったのかはわかりませんが、テーブルビューで突然、空の選択を行うことができなくなりました。テーブルビューの行と同様に、常に選択する必要があり、テーブルビューの別の場所をクリックして選択を解除することはできません。別の行を選択することはできますが、空の選択を行うことはできません。

テーブルビューのInterfaceBuilder属性では、空の選択が有効になっているため、次にどこを見ればよいかわかりません。私が行った大きな変更の1つは、OS XSnowLeopardをインストールしたことです。この問題がそれと関係があるかどうかはわかりません。

ありがとう

4

5 に答える 5

2

私はこれとまったく同じ問題を抱えていました(私はXCode 4.2を使用していますが、10.6sdkに対してコンパイルしています)。NSOutlineView :: deselectAllは、物事の選択を解除していませんでした。同じ動作を示すかなり複雑なNSOutlineViewがあります。この問題を回避するために、アップルデベロッパフォーラムやその他の場所を調べました。しかし、結局、これを回避することは非常に簡単で、次のように使用できました。

- (void) myDeselectAll
{
   [self selectRowIndexes:[NSIndexSet indexSet] byExtendingSelection:NO];
}
于 2011-12-20T09:15:35.863 に答える
1

setterメソッドを使用してプログラムで実行してみてくださいsetAllowsEmptySelection:。または、IBで空の選択を無効にして保存してから有効にして、もう一度節約してみてください。それはそれを修正するかもしれません。

また、何かがそれを妨げていtableView:shouldSelectRow:ないことを確認してください(このデリゲートメソッドを実装している場合)。

于 2009-08-18T22:48:20.380 に答える
1

これは少し古いですが、これに対する答えが必要な人のために:Interface Builderを使用して、アレイコントローラーにマークを付けます。「空の選択を避ける」チェックマークを外します。そうでない場合は、アレイコントローラー用のアウトレットを作成します。ここでは、それをDocumentArrayControllerと呼んでいます。

次に、選択を空にします。

 [_DocumentArrayController removeSelectionIndexes:
      [_DocumentArrayController selectionIndexes]]; 
于 2015-08-16T06:25:05.750 に答える
0

列をアレイコントローラーにバインドしていますか?その場合は、コントローラーの属性を確認してください。

于 2009-08-19T01:15:45.713 に答える
0

私はこれ以上言うことは許されていません:それは特に10.6の問題のようです

于 2009-08-23T18:39:41.213 に答える