iphone - example - uitableview swift 4
¿Cómo hacer que una celda en un UITableView no se pueda seleccionar? (11)
Actualización en Swift 3:
cell.selectionStyle = UITableViewCellSelectionStyle.none
Tengo una celda que estoy insertando en la parte superior de una UITableView. ¿Cómo puedo asegurarme de que cuando el usuario hace clic en la celda, no muestra el indicador azul seleccionado?
Implementar este method de UITableViewDelegate
- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
Para Swift 3:
cell.selectionStyle = .none
Para que sea completamente no seleccionable, se requieren dos cosas:
1- Como otros dijeron:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
2- Necesitas implementar este método delegado:
// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
if(cell.selectionStyle == UITableViewCellSelectionStyleNone){
return nil;
}
return indexPath;
}
para Swift 3 puedes usar
cell.isUserInteractionEnabled = false
tu puedes hacer
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Sintaxis Swift:
cell.selectionStyle = UITableViewCellSelectionStyle.None
Establezca el estilo de selección de UITableViewCell en UITableViewCellSelectionStyleNone
myTable.allowsSelection = false