2009-11-25 18 views
5

Ich möchte deaktivieren klicken auf bestimmte Cell.it bedeutet, ich möchte Highlight Farbe (Auswahlanzeige) nicht zeigen, wenn wir auf bestimmte Zelle berühren? Hilfe bitte?Wie versteckt man die Auswahl auf UITableview?

+0

sorry. Ich habe die Lösung gefunden .. [Zelle setSelectionStyle: UITableViewCellSelectionStyleNone]; –

Antwort

15

Verwenden Sie entweder cell.selectionStyle = UITableViewCellSelectionStyleNone; oder geben Sie false zurück oder geben Sie null in der Delegiertenmethode tableView:willSelectRowAtIndexPath zurück.

+0

Ich habe den Style im Storyboard auf "none" gesetzt, aber meine Separatorzeilen gingen berserker. Anscheinend lag das daran, dass die Dokumentation nicht gelesen wurde, das Zurückgeben von NULL in der angegebenen Delegiertenmethode löste das Problem ... Danke, dass du mir etwas Zeit gespart hast. –

0

Swift:

Wenn Sie eine benutzerdefinierte Zelle verwenden:

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

    init() { 
     setup() 
    } 

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

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

Wenn Sie nicht eine eigene Zelle mit:

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

Bonus: Wenn Sie die Zellenauswahl ausblenden möchten und auch nicht func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {...} aufrufen möchten, setzen Sie nur cell.isUserInteractionEnabled = false. Dies ist jedoch keine gute Vorgehensweise.

Verwandte Themen