2009-11-25 4 views
5

je veux désactiver cliquez sur Cell.it signifie, je veux ne pas montrer la couleur de surbrillance (indication de sélection) quand on touche à une cellule particulière? toute aide s'il vous plaît?comment cacher la sélection sur UITableview?

+0

Désolé. J'ai trouvé la solution. [cell setSelectionStyle: UITableViewCellSelectionStyleNone]; –

Répondre

15

Utilisez cell.selectionStyle = UITableViewCellSelectionStyleNone; ou renvoyez false ou renvoyez null dans la méthode déléguée tableView:willSelectRowAtIndexPath.

+0

J'ai mis le style à zéro dans le storyboard mais mes lignes de séparation sont devenues berserk. Apparemment, cela était dû à la non lecture de la documentation, le fait de renvoyer zéro dans la méthode de délégué spécifiée a résolu le problème ... merci de m'avoir fait gagner du temps. –

0

Swift:

Si vous utilisez une cellule personnalisée:

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 vous n'êtes pas en utilisant une cellule personnalisée:

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

Bonus: Si vous souhaitez masquer la sélection de cellule et également ne pas appeler func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {...}, définissez uniquement cell.isUserInteractionEnabled = false. Cependant, ce n'est pas une bonne pratique.

Questions connexes