In meinem Fall muss ich contentView ändern Farbe meiner CustomCell.
Sein kann einfach machen, wenn u Methoden außer Kraft setzen:
override func setHighlighted(highlighted: Bool, animated: Bool) {}
und:
override func setSelected(selected: Bool, animated: Bool) {}
Aber wenn ich zu meinem customCell hinzufügen:
cell?.accessoryType = .DisclosureIndicator
Ich hatte ein Problem, wenn Ansicht unter DisclosureIndicator
ist nicht Farbe ändern. Sein Aussehen wie: ![enter image description here](https://i.stack.imgur.com/IaQ9r.png)
Also schauen i auf subviews
von CustomCell
und feststellen, dass DisclosureIndicator
ein Knopf ist. Wenn Sie die Hintergrundfarbe dieser Taste ändern, haben Sie diese ![enter image description here](https://i.stack.imgur.com/vkNwx.png)
Also ich versuche, Hintergrundfarbe von superview
dieser Schaltfläche zu ändern. Und seine Arbeit ist großartig.
Voll Code von myCustomCell
setHighlighted func:
override func setHighlighted(highlighted: Bool, animated: Bool) {
if(highlighted){
viewContent.view.backgroundColor = Constants.Colors.selectedBackground
for item in self.subviews {
if ((item as? UIButton) != nil) {
item.superview?.backgroundColor = Constants.Colors.selectedBackground
}
}
} else {
viewContent.view.backgroundColor = Constants.Colors.normalCellBackground
for item in self.subviews {
if ((item as? UIButton) != nil) {
item.superview?.backgroundColor = Constants.Colors.normalCellBackground
}
}
}
}
Bitte verwenden Sie keine Zwangswickler. Verwenden Sie 'wenn lassen '. – KPM