Riddhi Shah Riddhi Shah - 2 years ago 217
iOS Question

Change tableview row text and image color swift

I have one tableView. In that I have created custom cell. Now I want to achieve exactly the same effect as shown in image. I tried a lot using selectionStyle and other stuffs, but I am not succeed.

enter image description here

I want to change the backgroundColor, fontcolor and imagecolor. How can I achieve this? This is the code of my 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) {



Thank you.

Answer Source

Add this:

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

    // changing text color
    self.textLabel?.textColor = selected ? UIColor.blueColor() : UIColor.blackColor()
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download