cocoa - NSTableView-Deshabilitar selección de fila
selection (5)
Como nota a la posteridad ...
Si declara selectionIndexesForProposedSelection, la función shouldSelectRow se ignorará. En caso de que se esté preguntando, como hice yo, por qué mis ediciones de shouldSelectRow no tuvieron ningún efecto ...
Tengo un NSTableView
y quiero deshabilitar la selección de filas.
Las columnas de la vista de tabla están vinculadas a un NSArrayController
y el contenido de la matriz se muestra en la vista de tabla.
¿Cómo puedo hacer esto simplemente usando bindings
?
Creo que necesitarás usar un TableViewDelegate e implementar
- (NSIndexSet *)tableView:(NSTableView *)tableView
selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
Mientras que las respuestas anteriores funcionan, esta es otra opción que prefiero usar:
- (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(NSInteger)rowIndex
{
return NO;
}
Yo creo que
- (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView
{
return NO;
}
es mejor que
- (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
Swift 4.0
func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
return false
}