NSTableView - Отключить выбор строки У меня есть NSTableView, и я хочу отключить выбор строки. Столбцы табличного представления привязаны к NSArrayController, а содержимое массива отображается в виде таблицы. Как это сделать, просто используя bindings? Ответ 1 Я думаю, вам нужно будет использовать TableViewDelegate и реализовать - (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes Ответ 2 Я думаю, - (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView { return NO; } лучше, чем - (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes Ответ 3 Пока работают предыдущие ответы, это еще один вариант, который я предпочитаю использовать: - (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(NSInteger)rowIndex { return NO; } Ответ 4 В качестве примечания для потомков... Если вы объявляете selectIndexesForProposedSelection, то функция shouldTelectRow будет проигнорирована. На всякий случай, когда вам интересно, как я сделал, почему мои изменения в shouldSelectRow не повлияли... https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSTableViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSTableViewDelegate/tableView:selectionIndexesForProposedSelection:
Ответ 1 Я думаю, вам нужно будет использовать TableViewDelegate и реализовать - (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
Ответ 2 Я думаю, - (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView { return NO; } лучше, чем - (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
Ответ 3 Пока работают предыдущие ответы, это еще один вариант, который я предпочитаю использовать: - (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(NSInteger)rowIndex { return NO; }
Ответ 4 В качестве примечания для потомков... Если вы объявляете selectIndexesForProposedSelection, то функция shouldTelectRow будет проигнорирована. На всякий случай, когда вам интересно, как я сделал, почему мои изменения в shouldSelectRow не повлияли... https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSTableViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSTableViewDelegate/tableView:selectionIndexesForProposedSelection: