J'aimerais changer la couleur de mon type d'accessoire cellulaire du bleu au blanc. Le textColor est déjà défini sur blanc. Est-ce que quelqu'un d'entre vous sait comment faire cela?
Mon code:
cell!.accessoryType = UITableViewCellAccessoryType.Checkmark
Vous pouvez définir votre propriété UITableViewCell tintColor sur la couleur souhaitée:
[cell setTintColor:[UIColor whiteColor]];
Rapide:
cell.tintColor = UIColor.whiteColor()
Swift 3.0
cell.tintColor = UIColor.white
Swift 3.1:
cell.backgroundColor = UIColor.yellow // the accessoryType background
cell.tintColor = UIColor.black // the accessoryType tint color.
Je pense que la meilleure façon de le faire est de définir accessoire de manière à créer une image de la manière suivante:
let image = UIImage(named: "some image.png")
cell.accessoryView = image
Vous pouvez également modifier la couleur de teinte de la cellule à partir du storyboard (en supposant que vous utilisez un fichier xib).
Dans mon cas, j'ai besoin de changer la couleur de ContentView de mon CustomCell.
Sa peut être facile à faire quand vous passez outre les méthodes:
override func setHighlighted(highlighted: Bool, animated: Bool) {}
et:
override func setSelected(selected: Bool, animated: Bool) {}
Mais quand j'ajoute à ma customCell:
cell?.accessoryType = .DisclosureIndicator
j'ai eu un problème lorsque la vue sous DisclosureIndicator
ne change pas de couleur. Son ressemble à:
Donc, je regarde sur subviews
de CustomCell
et trouve que DisclosureIndicator
est un bouton. Si vous changez la couleur de fond de ce bouton, vous avez ceci
Donc, j'essaie de changer la couleur de fond de superview
de ce bouton. Et son travail est génial.
Code complet de 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
}
}
}
}