// // TableView.swift // TournamentStats // // Created by Laurent Morvillier on 06/08/2019. // Copyright © 2019 Stax River. All rights reserved. // import Foundation import UIKit class TableView : UITableView { fileprivate var reference: AnyObject? func setData(data: [T], maxRows: Int? = 10) { let wrapper = DataSourceWrapper(array: data, maxRows: maxRows) self.dataSource = wrapper self.delegate = wrapper self.reference = wrapper } private func label(height: CGFloat, text: String) -> UILabel { let label = UILabel(frame: CGRect(x: 0, y: 0, width: self.frame.width, height: height)) label.text = text label.textColor = UIColor.white label.backgroundColor = UIColor.clear label.textAlignment = .center return label } func setHeader(header: String) { let label = self.label(height: 60.0, text: header) label.font = Fonts.subTitle self.tableHeaderView = label } func setFooter(footer: String) { let label = self.label(height: 22.0, text: footer) self.tableFooterView = label } override init(frame: CGRect, style: UITableView.Style) { super.init(frame: frame, style: style) self._initialize() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self._initialize() } fileprivate func _initialize() { self.register(UINib(nibName: "StackTableCell", bundle: Bundle.main), forCellReuseIdentifier: "Cell") self.backgroundColor = UIColor.clear } }