SBTHeaderView.swift 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // SBTHeaderView.swift
  3. // SolarBT
  4. //
  5. // Created by weclouds on 2019/3/13.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. class SBTHeaderView: UITableViewHeaderFooterView {
  10. var foldCalk:(()->Void)?
  11. var isPointShow :Bool = false{
  12. didSet{
  13. pointView.isHidden = true
  14. }
  15. }
  16. var title :String?{
  17. didSet{
  18. titleLabel.text = title
  19. }
  20. }
  21. var foldStr : String?{
  22. didSet{
  23. // log.debug("折叠文字:、\(foldStr!)")
  24. self.foldLabel.text = foldStr
  25. }
  26. }
  27. lazy var titleLabel: UILabel = {
  28. let titleLabel = UILabel()
  29. titleLabel.font = UIFont(name: PingFangSC_Heavy, size: 16)
  30. titleLabel.text = "电池"
  31. titleLabel.textColor = UIColor(hexString: "#222222")
  32. return titleLabel
  33. }()
  34. lazy var foldLabel: UILabel = {
  35. let foldLabel = UILabel()
  36. // log.debug("初始化fold--")
  37. foldLabel.text = "Expand".da_localizedStr()
  38. foldLabel.textColor = UIColor(hexString: "9F9F9F")
  39. foldLabel.font = UIFont(name: PingFangSC_Medium, size: 12)
  40. return foldLabel
  41. }()
  42. lazy var pointView: UIView = {
  43. let pointView = UIView()
  44. pointView.backgroundColor = UIColor(hexString: "#FE8413")
  45. pointView.layer.cornerRadius = 2.5
  46. pointView.layer.masksToBounds = true
  47. return pointView
  48. }()
  49. override init(reuseIdentifier: String?) {
  50. super.init(reuseIdentifier: reuseIdentifier)
  51. createUI()
  52. self.isUserInteractionEnabled = true
  53. let tap = UITapGestureRecognizer(target: self, action: #selector(foldAction))
  54. self.addGestureRecognizer(tap)
  55. }
  56. required init?(coder aDecoder: NSCoder) {
  57. fatalError("init(coder:) has not been implemented")
  58. }
  59. func createUI() {
  60. addSubview(titleLabel)
  61. addSubview(foldLabel)
  62. addSubview(pointView)
  63. }
  64. @objc func foldAction() {
  65. foldCalk!()
  66. }
  67. override func layoutSubviews() {
  68. super.layoutSubviews()
  69. titleLabel.snp.makeConstraints { (make) in
  70. make.left.equalToSuperview().offset(25)
  71. make.centerY.equalToSuperview()
  72. }
  73. pointView.snp.makeConstraints { (make) in
  74. make.left.equalTo(titleLabel.snp.right).offset(5)
  75. make.top.equalTo(titleLabel.snp.top).offset(2)
  76. make.width.height.equalTo(5)
  77. }
  78. foldLabel.snp.makeConstraints { (make) in
  79. make.right.equalToSuperview().offset(-28)
  80. make.centerY.equalToSuperview()
  81. }
  82. }
  83. }