2009-11-25 15 views
5

Quiero deshabilitar hacer clic en un medio particular de Cell.it, Quiero mostrar el color de resaltado (indicación de selección) cuando tocamos una celda en particular? ayuda por favor?cómo ocultar la selección en UITableview?

+0

lo siento. He encontrado la solución. [cell setSelectionStyle: UITableViewCellSelectionStyleNone]; –

Respuesta

15

O usa cell.selectionStyle = UITableViewCellSelectionStyleNone; o devuelve false o devuelve null en el método delegado tableView:willSelectRowAtIndexPath.

+0

Establecí el estilo en ninguno en el guión gráfico pero mis líneas de separación se volvieron locas. Al parecer, eso se debió a que no se leyó la documentación, al devolver el método nil en el delegado especificado resolvió el problema ... gracias por ahorrarme algo de tiempo. –

0

Swift:

Si está utilizando una célula de encargo:

class YourCustomCell: UITableViewCell { 
    override func awakeFromNib() { 
     setup() 
    } 

    init() { 
     setup() 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 

    fileprivate func setup() { 
     self.selectionStyle = .none 
    } 
} 

Si no está utilizando una celda personalizado:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "CellIdentifierID") 
    cell.selectionStyle = .none 
    return cell 
} 

Bonificación: Si desea ocultar la selección de celda y tampoco quiere llamar al func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {...}, entonces configure solo cell.isUserInteractionEnabled = false. Sin embargo, esta no es una buena práctica.

Cuestiones relacionadas