// // SBTHeaderView.swift // SolarBT // // Created by weclouds on 2019/3/13. // Copyright © 2019 weclouds. All rights reserved. // import UIKit class SBTHeaderView: UITableViewHeaderFooterView { var foldCalk:(()->Void)? var isPointShow :Bool = false{ didSet{ pointView.isHidden = true } } var title :String?{ didSet{ titleLabel.text = title } } var foldStr : String?{ didSet{ // log.debug("折叠文字:、\(foldStr!)") self.foldLabel.text = foldStr } } lazy var titleLabel: UILabel = { let titleLabel = UILabel() titleLabel.font = UIFont(name: PingFangSC_Heavy, size: 16) titleLabel.text = "电池" titleLabel.textColor = UIColor(hexString: "#222222") return titleLabel }() lazy var foldLabel: UILabel = { let foldLabel = UILabel() // log.debug("初始化fold--") foldLabel.text = "Expand".da_localizedStr() foldLabel.textColor = UIColor(hexString: "9F9F9F") foldLabel.font = UIFont(name: PingFangSC_Medium, size: 12) return foldLabel }() lazy var pointView: UIView = { let pointView = UIView() pointView.backgroundColor = UIColor(hexString: "#FE8413") pointView.layer.cornerRadius = 2.5 pointView.layer.masksToBounds = true return pointView }() override init(reuseIdentifier: String?) { super.init(reuseIdentifier: reuseIdentifier) createUI() self.isUserInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: #selector(foldAction)) self.addGestureRecognizer(tap) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } func createUI() { addSubview(titleLabel) addSubview(foldLabel) addSubview(pointView) } @objc func foldAction() { foldCalk!() } override func layoutSubviews() { super.layoutSubviews() titleLabel.snp.makeConstraints { (make) in make.left.equalToSuperview().offset(25) make.centerY.equalToSuperview() } pointView.snp.makeConstraints { (make) in make.left.equalTo(titleLabel.snp.right).offset(5) make.top.equalTo(titleLabel.snp.top).offset(2) make.width.height.equalTo(5) } foldLabel.snp.makeConstraints { (make) in make.right.equalToSuperview().offset(-28) make.centerY.equalToSuperview() } } }