2015-04-04 104 views
6

我想將cell cell accessoryType的顏色從藍色更改爲白色。 textColor已被設置爲白色。 你們有人知道如何做到這一點嗎?更改accessoryType的顏色Swift

我的代碼:

cell!.accessoryType = UITableViewCellAccessoryType.Checkmark

+3

請不要使用強制解包。使用'如果讓'。 – KPM 2015-04-14 06:13:54

回答

17

您可以將您的UITableViewCell tintColor屬性設置爲所需的顏色:

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

是的,這是有效的。感謝您的回答!對於那些誰與斯威夫特的工作是:'cell.tintColor = UIColor.whiteColor()' – horst 2015-04-06 18:33:41

+1

一點也不 – 2017-11-13 18:28:51

1

要做到這一點,我認爲最好的辦法,就是設置附件如下圖所示:

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

工作,你不能一個UIView設置爲一個UIImage – richari1987 2017-09-12 21:34:24

+0

良好的代碼是這樣的一個(你需要使用的UIImageView而不是UIImage): let image = UIImageView(image:「some image.png」); cell.accessoryView =圖像 – 2017-12-29 14:51:15

1

您也可以更改單元格的故事板顏色(假設您使用的是xib文件)

+0

改變細胞的着色顏色沒有改變該單元的公開內容指示符的顏色。但我正在尋找一種方法來改變故事板的配件顏色 – 2017-09-13 11:00:01

+0

更改tintcolor不適用於披露指示器。解決方法可以是https://medium.com/@ronm333/changing-the-color-of-a-disclosure-indicator-666a7fdd9286 – 2018-03-09 03:22:53

1

我的情況我需要更改我的CustomCell的contentView顏色。

它可以很容易製作當u重寫方法:

override func setHighlighted(highlighted: Bool, animated: Bool) {} 

和:

override func setSelected(selected: Bool, animated: Bool) {} 

但是,當我添加到我的customCell:

cell?.accessoryType = .DisclosureIndicator 

我已經當了問題在DisclosureIndicator下查看不變色。它看起來像:enter image description here

所以我看subviewsCustomCell,發現DisclosureIndicator是一個按鈕。如果改變這個按鈕的背景顏色,你有這個enter image description here

所以我嘗試改變這個按鈕的superview背景顏色。它的工作很棒。

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

夫特:

cell.tintColor = UIColor.whiteColor() 

夫特3.0

cell.tintColor = UIColor.white 
+0

中提到的根本不起作用 – 2017-11-14 08:25:38

+0

在iOS 11上不起作用 – deathhorse 2018-02-27 10:45:51

0

夫特3.1:

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