我不知道它是怎么发生的,但是突然在我的表格视图中我不能再做一个空的选择了。就像表格视图行总是必须被选中,并且不能通过单击表格视图中的其他位置来取消选择。我可以选择不同的行,但不能进行空选择。
在表格视图的 Interface Builder 属性中启用了空选择,所以我不知道下一步该往哪里看。我所做的一项重大更改是安装了 OS X Snow Leopard。我不确定这个问题是否与此有关。
谢谢
我不知道它是怎么发生的,但是突然在我的表格视图中我不能再做一个空的选择了。就像表格视图行总是必须被选中,并且不能通过单击表格视图中的其他位置来取消选择。我可以选择不同的行,但不能进行空选择。
在表格视图的 Interface Builder 属性中启用了空选择,所以我不知道下一步该往哪里看。我所做的一项重大更改是安装了 OS X Snow Leopard。我不确定这个问题是否与此有关。
谢谢
我遇到了同样的问题(我使用的是 XCode 4.2,但针对 10.6sdk 进行编译)。NSOutlineView::deselectAll 只是没有取消选择。我有一个相当复杂的 NSOutlineView ,它表现出相同的行为。我查看了苹果开发者论坛和其他地方来尝试解决这个问题。然而,最终解决这个问题对我来说非常简单,我可以使用:
- (void) myDeselectAll
{
[self selectRowIndexes:[NSIndexSet indexSet] byExtendingSelection:NO];
}
尝试使用 setter 方法以编程方式进行setAllowsEmptySelection:
。或者,尝试在 IB 中禁用空选择,保存,然后启用它,从而节省更多时间。那可能会解决它。
还要确保里面的东西tableView:shouldSelectRow:
不会阻止你(假设你已经实现了这个委托方法)。
这有点老了,但对于那些需要答案的人来说:使用界面构建器并标记阵列控制器。删除复选标记“避免空选”。如果不这样做,请为阵列控制器创建一个插座。这里我称它为 DocumentArrayController。
然后清空选择:
[_DocumentArrayController removeSelectionIndexes:
[_DocumentArrayController selectionIndexes]];
我不能说更多:这似乎是10.6的问题
您是否将列绑定到数组控制器?如果是这样,请检查控制器的属性。