added iOS source code
[wl-app.git] / iOS / WolneLektury / Screens / Common / Cells / WLTableViewCell.swift
1 //
2 //  WLTableViewCell.swift
3 //  WolneLektury
4 //
5 //  Created by Pawel Dabrowski on 30/05/2018.
6 //  Copyright © 2018 Fundacja Nowoczesna Polska. All rights reserved.
7 //
8
9 import UIKit
10
11 class WLTableViewCell: UITableViewCell {
12
13     override func awakeFromNib() {
14         super.awakeFromNib()
15         selectionStyle = .none
16     }
17
18     override func setSelected(_ selected: Bool, animated: Bool) {
19         super.setSelected(selected, animated: animated)
20
21         // Configure the view for the selected state
22     }
23     
24     static var fullNameIdentifier: String {
25         var fullName: String = NSStringFromClass(self)
26         let range = fullName.range(of: ".", options: .backwards)
27         if let range = range {
28             fullName = fullName.substring(from: range.upperBound)
29         }
30         return fullName
31     }
32
33     static var reuseIdentifier: String {
34         return fullNameIdentifier
35     }
36     
37     class func instance<T>(type: T.Type) -> T{
38         let cell = Bundle.main.loadNibNamed(fullNameIdentifier, owner: nil, options: nil)!.first as! T
39         return cell
40     }
41     
42     static var nib: UINib? {
43         if((Bundle.main.path(forResource: fullNameIdentifier, ofType: "nib")) != nil)
44         {
45             return UINib(nibName: String(fullNameIdentifier), bundle: nil)
46         }
47         return nil
48     }
49     
50     func getHeight() -> CGFloat {
51         return UITableViewAutomaticDimension
52     }
53
54 }