更改tableview行文本和图像颜色

问题描述 投票:0回答:2

我有一个tableView。在那我已经创建了自定义单元格。现在我想达到与图像所示完全相同的效果。我使用selectionStyle和其他东西尝试了很多,但我没有成功。

enter image description here

我想更改背景颜色,字体颜色和图像颜色。我怎样才能做到这一点?这是我的UITableViewCell的代码。

    import UIKit

public class BaseTableViewCell : UITableViewCell {
    class var identifier: String { return String.className(self) }

    public required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

    }

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)


    }

    public override func awakeFromNib() {
        self.selectionStyle = UITableViewCellSelectionStyle.Gray
    }


    public class func height() -> CGFloat {
        return 40
    }

    public func setData(data: Any?, image : String!, alignment: NSTextAlignment!, font: UIColor) {

        self.textLabel?.font = UIFont(name: "Montserrat-Light", size: 12)
        self.textLabel?.textAlignment = alignment
        self.textLabel?.textColor = font

        if let menuText = data as? String {
            self.textLabel?.text = menuText
        }

        self.imageView?.image = UIImage(named: image)
    }

    override public func setHighlighted(highlighted: Bool, animated: Bool) {
        if highlighted {


        } else {
            self.alpha = 1.0
        }
    }

    // ignore the default handling
    override public func setSelected(selected: Bool, animated: Bool) {

    }

}

谢谢。

ios swift uitableview highlight
2个回答
3
投票

添加这个:

override public func setSelected(selected: Bool) {
    super.setSelected(selected)
    // Do your customization here

    // changing text color
    self.textLabel?.textColor = selected ? UIColor.blueColor() : UIColor.blackColor()
}

-2
投票

override public func setSelected(_ selected:Bool,animated:Bool){super.setSelected(selected,animated:true)

     self.textLabel?.textColor = selected ? UIColor.blue : UIColor.black
     self.imageView?.tintColor = selected ? UIColor.blue : UIColor.black

imageView?.image = imageView?.image!.withRenderingMode(.alwaysTemplate)}

© www.soinside.com 2019 - 2024. All rights reserved.