更改tableview行文本和图像颜色

时间:2016-05-20 11:30:41

标签: ios swift uitableview highlight

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

enter image description here

我想更改backgroundColor,fontcolor和imagecolor。我怎样才能做到这一点?这是我的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) {

    }

}

谢谢。

2 个答案:

答案 0 :(得分:3)

添加:

@Override
public void onResume() {
    startAppAd.onResume();
    super.onResume();
}

答案 1 :(得分:-2)

覆盖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)      }