我有一个NSTableView
,我想禁用行选择。NSTableView - 禁用行选择
表视图的列绑定到NSArrayController
并且数组的内容确实显示在表视图中。
我该如何使用bindings
来做到这一点?
我有一个NSTableView
,我想禁用行选择。NSTableView - 禁用行选择
表视图的列绑定到NSArrayController
并且数组的内容确实显示在表视图中。
我该如何使用bindings
来做到这一点?
我认为你需要使用TableViewDelegate和实施
- (NSIndexSet *)tableView:(NSTableView *)tableView
selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
我觉得
- (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView
{
return NO;
}
优于
- (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
您可以在头文件中阅读:“为了获得更好的性能并更好地控制选择,应该使用tableView:selectionIndexesForProposedSelection :.” – Stephan
虽然以前的答案工作,这是另一个我更喜欢使用的选项:
- (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(NSInteger)rowIndex
{
return NO;
}
这实际上是您想要的方法,如果您想禁用某些行而不选择其他 –
作为一个纸条给后人......
如果声明selectionIndexesForProposedSelection,然后shouldSelectRow功能将被忽略。万一你想知道像我一样,为什么我的编辑shouldSelectRow没有效果...
也许,但我希望这不会是这样...... – ericg
{返回0 ; } 我相信?似乎工作。 –