Saltar al contenido

¿Cómo hacer que una celda en un UITableView no se pueda seleccionar?

Solución:

Para eliminar la capacidad de seleccionar cualquier celda de la tabla, o celdas de tabla particulares basadas en el índice de fila, use willSelectRowAt

func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? {


        return nil
    }

Para eliminar simplemente el efecto de la interfaz de usuario de seleccionar el elemento, establezca el estilo de selección de UITableViewCell en UITableViewCellSelectionStyleNone

Rápido 5:

selectionStyle = .none

Para que una celda sea completamente no seleccionable por celda, se requieren dos cosas:

1- Como dijeron otros:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

2- Implemente este método de delegado de la siguiente manera:

// 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;
}

Desde el Storyboard, configure lo siguiente para la Vista de tabla:

Selección: Sin selección

Mostrar selección al tocar: Falso

ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *