2016-05-20 6 views
0

私は1つのtableViewを持っています。私はカスタムセルを作成しています。今私は画像に示されているのと全く同じ効果を達成したいと思います。セレクションと他のものを使ってたくさん試しましたが、私は成功しません。テーブルビュー行のテキストとイメージの色を変更する

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) { 

    } 

} 

ありがとうございます。

+0

このセルをタップすると、そのように変化するはずです....これはあなたの質問です –

+0

雅h。それはそのように変わるはずです。 @ Uday.M –

答えて

3

は、これを追加:するsetSelected FUNC

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

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

ありがとうございました。これは、背景色を変更しますが、私はまた、フォントの色を変更する。 @bobby –

+0

updated @RiddhiShah – CZ54

+0

画像の色を変更するにはどうしたらいいですか? –

-2

オーバーライドパブリック(_選択:アニメーションブール:ブールの){ super.setSelected(アニメーション、選択された:真)

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

ImageViewの?。 image = imageView?image.withRenderingMode(.AlwaysTemplate) }

関連する問題