2015-04-04 4 views
6

Ich möchte die Farbe meiner Zelle AccessoryType von blau zu weiß ändern. Die textColor ist bereits auf weiß eingestellt. Weiß jemand von euch, wie man das macht?Ändern Sie die Farbe des Zubehörtyps Swift

Mein Code:

cell!.accessoryType = UITableViewCellAccessoryType.Checkmark

+3

Bitte verwenden Sie keine Zwangswickler. Verwenden Sie 'wenn lassen '. – KPM

Antwort

17

Sie Ihre UITableViewCell tintColor Eigenschaft auf die gewünschte Farbe einstellen: auf

[cell setTintColor:[UIColor whiteColor]]; 
+2

Ja, das funktioniert. Danke für deine Antwort! Für diejenigen, die mit Swift arbeiten, ist es: 'cell.tintColor = UIColor.whiteColor()' – horst

+1

überhaupt nicht funktioniert –

1

Der beste Weg, das zu tun, denke ich, ist zu setzen Zubehör Bild auf folgende Weise:

let image = UIImage(named: "some image.png") 
cell.accessoryView = image 
+2

Sie können eine UIView nicht auf einen UIImage setzen – richari1987

+0

der gute Code ist dieser (Sie müssen UIImageView verwenden anstelle von UIImage): let image = UIImageView (image: "irgendein image.png"); cell.accessoryView = image –

1

Sie können auch ändern die Tönungsfarbe der Zelle aus dem Storyboard (unter der Annahme, dass Sie eine XIB-Datei verwenden)

+0

Die Farbe der Farbe der Zellenanzeige änderte nicht die Farbe der Zellenfarbe.Aber ich suche nach einer Möglichkeit, die Farbe des Zubehörs vom Storyboard zu ändern –

+0

Das Ändern der Tintcolor funktioniert nicht für den Disclosure-Indikator. Eine Problemumgehung kann wie in https://medium.com/@ronm333/changing-the-color-of-a-disclusion-indicator-666a7fdd9286 –

1

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

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

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 
      } 
     } 

    } 
} 
9

Swift:

cell.tintColor = UIColor.whiteColor() 

Swift 3,0

cell.tintColor = UIColor.white 
+0

funktioniert nicht funktioniert –

+0

funktioniert nicht auf iOS 11 – deathhorse

0

Swift 3.1:

cell.backgroundColor = UIColor.yellow // the accessoryType background 
cell.tintColor = UIColor.black // the accessoryType tint color.