TSLightSolidColorVC.swift 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //
  2. // TSLightSolidColorVC.swift
  3. // Girly
  4. //
  5. // Created by 100Years on 2025/1/7.
  6. //
  7. import JXSegmentedView
  8. class TSLightSolidColorVC: TSBaseVC{
  9. lazy var currentColor:UIColor = {
  10. let color = TSConfig.ligntSolidDefaultColor
  11. return color
  12. }(){
  13. didSet{
  14. updateColorView()
  15. }
  16. }
  17. lazy var brightnessNum:CGFloat = {
  18. return 1.0
  19. }(){
  20. didSet{
  21. updateColorView()
  22. }
  23. }
  24. lazy var saturationNum:CGFloat = {
  25. return 1.0
  26. }(){
  27. didSet{
  28. updateColorView()
  29. }
  30. }
  31. lazy var colorPaletteView: TSLightColorPaletteView = {
  32. let colorPaletteView = TSLightColorPaletteView()
  33. colorPaletteView.changedBrightnessComplete = { [weak self] floatNum in
  34. guard let self = self else { return }
  35. brightnessNum = floatNum
  36. }
  37. colorPaletteView.changedSaturationComplete = { [weak self] floatNum in
  38. guard let self = self else { return }
  39. saturationNum = floatNum
  40. }
  41. return colorPaletteView
  42. }()
  43. lazy var topView: UIView = {
  44. let view = UIView()
  45. view.backgroundColor = currentColor
  46. view.cornerRadius = 22.0
  47. view.addSubview(colorPaletteView)
  48. colorPaletteView.snp.makeConstraints { make in
  49. make.leading.equalTo(12)
  50. make.trailing.equalTo(-12)
  51. make.height.equalTo(100.0)
  52. make.bottom.equalTo(-12)
  53. }
  54. let fullScreenBtn = UIButton.createButton(image: UIImage(named: "fullScreen"),backgroundColor: UIColor.fromHex("000000", alpha: 0.2),corner: 8.0) { [weak self] in
  55. guard let self = self else { return }
  56. kPresentModalVC(target: self, modelVC: TSFullScreenVC.creatSolidColorVC(color: topView.backgroundColor ?? .white),transitionStyle: .crossDissolve)
  57. }
  58. view.addSubview(fullScreenBtn)
  59. fullScreenBtn.snp.makeConstraints { make in
  60. make.top.equalTo(16)
  61. make.trailing.equalTo(-12)
  62. make.width.height.equalTo(36)
  63. }
  64. return view
  65. }()
  66. lazy var toolView: TSLightSolidColorToolView = {
  67. let toolView = TSLightSolidColorToolView()
  68. toolView.changedColorComplete = {[weak self] color in
  69. guard let self = self else { return }
  70. currentColor = color
  71. }
  72. return toolView
  73. }()
  74. override func createView() {
  75. setNavBarViewHidden(true)
  76. contentView.addSubview(topView)
  77. contentView.addSubview(toolView)
  78. topView.snp.makeConstraints { make in
  79. make.leading.equalTo(16)
  80. make.trailing.equalTo(-16)
  81. make.top.equalTo(kLightTop)
  82. make.bottom.equalTo(-172.0)
  83. }
  84. toolView.snp.makeConstraints { make in
  85. make.leading.equalTo(0)
  86. make.trailing.equalTo(0)
  87. make.height.equalTo(128.0)
  88. make.bottom.equalTo(0)
  89. }
  90. }
  91. func updateColorView(){
  92. topView.backgroundColor = currentColor.adjusted(brightness: brightnessNum,saturation: saturationNum)
  93. }
  94. }
  95. extension TSLightSolidColorVC: JXSegmentedListContainerViewListDelegate {
  96. func listView() -> UIView {
  97. return view
  98. }
  99. }