我想将细胞accessoryType的颜色从蓝色更改为白色。 textColor已设置为白色。 你们有人知道怎么做吗?
我的代码:
cell!.accessoryType = UITableViewCellAccessoryType.Checkmark
答案 0 :(得分:26)
您可以将UITableViewCell tintColor属性设置为所需的颜色:
[cell setTintColor:[UIColor whiteColor]];
答案 1 :(得分:12)
cell.tintColor = UIColor.whiteColor()
Swift 3.0
cell.tintColor = UIColor.white
答案 2 :(得分:4)
“如何更改 .disclosureIndicator 指示器类型的颜色”。经过大量研究后,我注意到discoveryIndicator的图像不是Image而是backgroundImage。我找到了这样的解决方案:
import UIKit
class CustomCell: UITableViewCell {
fileprivate func commonInit() {
}
open override func layoutSubviews() {
super.layoutSubviews()
if let indicatorButton = allSubviews.compactMap({ $0 as? UIButton }).last {
let image = indicatorButton.backgroundImage(for: .normal)?.withRenderingMode(.alwaysTemplate)
indicatorButton.setBackgroundImage(image, for: .normal)
indicatorButton.tintColor = .red
}
}
}
extension UIView {
var allSubviews: [UIView] {
return subviews.flatMap { [$0] + $0.allSubviews }
}
}
答案 3 :(得分:2)
我认为,最好的方法是通过以下方式将附件设置为图像:
let image = UIImage(named: "some image.png")
cell.accessoryView = image
答案 4 :(得分:2)
Swift 3.1:
cell.backgroundColor = UIColor.yellow // the accessoryType background
cell.tintColor = UIColor.black // the accessoryType tint color.
答案 5 :(得分:1)
您还可以从故事板中更改单元格的色调(假设您使用的是xib文件)
答案 6 :(得分:1)
我的情况我需要更改CustomCell的contentView颜色。
当你覆盖方法时,它很容易制作:
override func setHighlighted(highlighted: Bool, animated: Bool) {}
和
override func setSelected(selected: Bool, animated: Bool) {}
但是当我添加到我的customCell时:
cell?.accessoryType = .DisclosureIndicator
当DisclosureIndicator
下的视图没有更改颜色时,我遇到了问题。它看起来像是:
所以我查看subviews
的{{1}},发现CustomCell
是一个按钮。如果更改此按钮的背景颜色,请使用此
所以我尝试更改此按钮的DisclosureIndicator
的背景颜色。它的工作很棒。
superview
setHighlighted func的完整代码:
myCustomCell
答案 7 :(得分:1)
Swift 5我正在改善通福答案
let chevronImageView = UIImageView(image: UIImage(named: "chevron-right"))
cell.accessoryView = chevronImageView
答案 8 :(得分:0)
.disclosureIndicator
吗?如果有人在这里寻找“如何为.disclosureIndicator
指示器类型更改颜色”。
答案是您不能。但是:
有一种方法。应用自定义图片:
let chevronImageView = UIImageView(image: disclosureIndicatorImage"))
accessoryView = chevronImageView
其他支持链接:
答案 9 :(得分:-2)
cell.contentView.backgroundColor = .grey
cell.backgroundColor = .grey