2016-07-20 33 views
2

Ich habe einen dunkelgrauen Hintergrund mit einer transparenten Tabellenansicht. Ich verwende den folgenden Code, um zu versuchen, die Zellenhervorhebung zu beenden, wenn auf eine Zelle geklickt wird. Es funktioniert außer rechts, wenn die Zelle anfänglich angeklickt wird, sehe ich ein Highlight. Ich gehe dann zu einer anderen Szene über. Wenn ich zurückkomme, ist die Zelle nicht markiert.Wie kann ich die UITableViewCell-Hervorhebung deaktivieren?

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    var selectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)! 
    selectedCell.contentView.backgroundColor = UIColor.clearColor() 
    tableView.deselectRowAtIndexPath(indexPath, animated: true) 
} 

Wie kann ich die ursprüngliche Zelle zu deaktivieren, dass Hervorhebung noch ist da los?

+1

Set 'cell.selectionStyle = UITableViewCellSelectionStyleNone;' folgen Sie diesem Link: [link] (http://stackoverflow.com/questions/11920156/custom-uitableviewcell-selection-style) – Chandan

Antwort

4

Set UITableViewCell Auswahl style none

cell.selectionStyle = .None 
+0

Dies erfordert dann eine Doppelklick zum Auswählen. – markhorrocks

2

UITableViewDelegate hat Methoden mit Zell Highlights beschäftigen, wahrscheinlich tableView(_:shouldHighlightRowAt:) ist das, was Sie suchen

Überprüfen Sie die documentation für die anderen Methoden

1

Die Der einfachste Weg zur Vermeidung von Hervorhebungen ist die Einstellung selectionStyle auf None. Hier ist, wie Sie dies erreichen können:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell 
    cell.selectionStyle = .None 
    return cell 
} 
1

Ich fand, dass die anderen Antworten für mich nicht funktionierten, da sie einen Doppelklick erforderten. Das hat funktioniert.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

tableView.deselectRow(at: indexPath, animated: true) 
Verwandte Themen