cocoa selection nstableview

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 ...

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSTableViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSTableViewDelegate/tableView:selectionIndexesForProposedSelection :

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 }