TSFlashVC.swift 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //
  2. // TSFlashVC.swift
  3. // Girly
  4. //
  5. // Created by 100Years on 2025/1/7.
  6. //
  7. class TSFlashVC: TSBaseVC{
  8. lazy var navBarView: TSBaseNavContentBarView = {
  9. let navBarView = TSBaseNavContentBarView()
  10. let titleImageView = UIImageView.createImageView(imageName: "nav_title_flash",contentMode: .scaleToFill)
  11. navBarView.barView.addSubview(titleImageView)
  12. titleImageView.snp.makeConstraints { make in
  13. make.centerY.equalToSuperview()
  14. make.left.equalTo(16)
  15. }
  16. return navBarView
  17. }()
  18. lazy var simpleTableView:TSSimpleTableView = {
  19. let simpleTableView = TSSimpleTableView()
  20. simpleTableView.tableView.contentInset = UIEdgeInsets( top: 0,left: 0,bottom: 0,right: 0)
  21. simpleTableView.reuseClass = ["TSFlashCell"]
  22. simpleTableView.dataArray = dataArray
  23. return simpleTableView
  24. }()
  25. lazy var dataArray:[TSBasicSectionModel] = {
  26. let cellH:CGFloat = 164.0*kDesignScale
  27. var dataArray = [TSBasicSectionModel]()
  28. let sectionModel = TSBasicSectionModel()
  29. dataArray.append(sectionModel)
  30. sectionModel.addSubItemModel(
  31. createItemModel(
  32. leftImageName: "light_warning",
  33. height: cellH,
  34. rectCorner:.allCorners,
  35. tapBlock: {[weak self] itemModel, index, view in
  36. guard let self = self else { return }
  37. kPushVC(target: self,modelVC:TSWarningLightVC())
  38. }))
  39. sectionModel.addSubItemModel(
  40. createItemModel(
  41. leftImageName: "light_night",
  42. height: cellH,
  43. rectCorner:.allCorners,
  44. tapBlock: {[weak self] itemModel, index, view in
  45. guard let self = self else { return }
  46. kPushVC(target: self,modelVC:TSNightLightVC())
  47. }))
  48. sectionModel.addSubItemModel(
  49. createItemModel(
  50. leftImageName: "light_disco",
  51. height: cellH,
  52. rectCorner:.allCorners,
  53. tapBlock: {[weak self] itemModel, index, view in
  54. guard let self = self else { return }
  55. kPushVC(target: self,modelVC:TSDiscoLightVC())
  56. }))
  57. sectionModel.addSubItemModel(
  58. createItemModel(
  59. leftImageName: "light_flash",
  60. height: cellH,
  61. rectCorner:.allCorners,
  62. tapBlock: {[weak self] itemModel, index, view in
  63. guard let self = self else { return }
  64. kPushVC(target: self,modelVC:TSFlashLightVC())
  65. }))
  66. return dataArray
  67. }()
  68. override func createView() {
  69. edgesForExtendedLayout = [.top,.left,.right]
  70. navBarContentView.addSubview(navBarView)
  71. navBarView.snp.makeConstraints { make in
  72. make.edges.equalToSuperview()
  73. }
  74. contentView.addSubview(simpleTableView.tableView)
  75. simpleTableView.tableView.snp.makeConstraints { make in
  76. make.leading.equalTo(16)
  77. make.trailing.equalTo(-16)
  78. make.top.equalTo(12)
  79. make.bottom.equalTo(0)
  80. }
  81. }
  82. func createItemModel(leftImageName: String,
  83. height: CGFloat,
  84. rectCorner: UIRectCorner,
  85. tapBlock: @escaping ((TSBasicItemModel, Int, Any?) -> Void)) -> TSBasicItemModel {
  86. let model = TSBasicItemModel()
  87. model.leftImageName = leftImageName
  88. model.height = height
  89. model.rectCorner = rectCorner
  90. model.tapBlock = tapBlock
  91. return model
  92. }
  93. }
  94. class TSFlashCell: TSSimpleTableViewCell {
  95. override var itemModel: TSBasicItemModel{
  96. didSet{
  97. if let leftImageName = itemModel.leftImageName {
  98. bgImageView.image = UIImage(named: leftImageName)
  99. }
  100. }
  101. }
  102. let bgImageView = UIImageView()
  103. override func creatUI() {
  104. bgContentView.snp.updateConstraints { make in
  105. make.bottom.equalTo(-24)
  106. }
  107. bgImageView.contentMode = .scaleToFill
  108. bgContentView.addSubview(bgImageView)
  109. bgImageView.snp.makeConstraints { make in
  110. make.edges.equalToSuperview()
  111. }
  112. }
  113. }