added iOS source code
[wl-app.git] / iOS / WolneLektury / Screens / Menu / Cells / MenuTableViewCell.swift
1 //
2 //  MenuTableViewCell.swift
3 //  WolneLektury
4 //
5 //  Created by Pawel Dabrowski on 29/05/2018.
6 //  Copyright © 2018 Fundacja Nowoczesna Polska. All rights reserved.
7 //
8
9 import UIKit
10
11 class MenuTableViewCell: WLTableViewCell {
12
13     @IBOutlet weak var titleLabel: UILabel!
14     @IBOutlet weak var iconImageView: UIImageView!
15     @IBOutlet weak var selectedIndicator: UIView!
16     private(set) var menuItem: MenuItem!
17     
18     class func instance(menuItem: MenuItem) -> MenuTableViewCell{
19         let cell = MenuTableViewCell.instance(type: MenuTableViewCell.self)
20         cell.setup(menuItem: menuItem, selected: false)
21         return cell
22     }
23     
24     override func awakeFromNib() {
25         super.awakeFromNib()
26         backgroundColor = UIColor.clear
27         contentView.backgroundColor = UIColor.clear
28     }
29     
30     override func setSelected(_ selected: Bool, animated: Bool) {
31         super.setSelected(selected, animated: animated)
32         selectedIndicator.isHidden = !selected
33         iconImageView.tintColor = menuItem == .premium ? MenuItem.premium.tintColor : (selected ? UIColor.white : Constants.Colors.menuTintColor())
34     }
35     
36     func setup(menuItem: MenuItem, selected:Bool) {
37         setSelected(selected, animated: false)
38         self.menuItem = menuItem
39         iconImageView.image = menuItem.image
40         titleLabel.text = menuItem.title
41         let tintColor = menuItem.tintColor
42         titleLabel.textColor = tintColor
43     }
44     
45     override func getHeight() -> CGFloat {
46         return 33
47     }
48 }