KeyboardTipsPopView.swift 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. //
  2. // KeyboardTipsPopView.swift
  3. // AiKeyboard
  4. //
  5. // Created by Destiny on 2025/5/12.
  6. //
  7. import UIKit
  8. class KeyboardTipsPopView: UIView {
  9. var settingBtnClosure: (() -> ())?
  10. var backBtnClosure: (() -> ())?
  11. lazy var bgView: UIView = {
  12. let view = UIView()
  13. view.backgroundColor = .hexStringColor(hexString: "#000000").withAlphaComponent(0.8)
  14. return view
  15. }()
  16. lazy var mainView: UIView = {
  17. let view = UIView()
  18. view.layer.cornerRadius = 18
  19. view.backgroundColor = .white
  20. return view
  21. }()
  22. lazy var closeBtn: UIButton = {
  23. let btn = UIButton()
  24. btn.setImage(UIImage(named: "keyboard_close_btn"), for: .normal)
  25. btn.addTarget(self, action: #selector(closeBtnClickAction), for: .touchUpInside)
  26. return btn
  27. }()
  28. lazy var titleLabel: UILabel = {
  29. let label = UILabel()
  30. label.text = "开启【追爱小键盘】,并【允许完全访问】"
  31. label.font = .systemFont(ofSize: 15, weight: .medium)
  32. label.textColor = .hexStringColor(hexString: "#000000", alpha: 0.8)
  33. return label
  34. }()
  35. lazy var mainImageView: UIImageView = {
  36. let imageView = UIImageView()
  37. imageView.image = UIImage(named: "keyboard_tip_settings")
  38. return imageView
  39. }()
  40. lazy var settingBtn: UIButton = {
  41. let btn = UIButton()
  42. btn.layer.cornerRadius = 17
  43. btn.setTitle("去设置", for: .normal)
  44. btn.setTitleColor(.white, for: .normal)
  45. btn.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
  46. if let image = UIImage.gradient([UIColor.hexStringColor(hexString: "#7D46FC"), UIColor.hexStringColor(hexString: "#BC87FF")], size: CGSize(width: 103, height: 34), locations: [0, 1], direction: .horizontal) {
  47. btn.backgroundColor = UIColor(patternImage: image)
  48. }
  49. btn.addTarget(self, action: #selector(settingBtnClickAction), for: .touchUpInside)
  50. return btn
  51. }()
  52. override init(frame: CGRect) {
  53. super.init(frame: frame)
  54. initUI()
  55. }
  56. required init?(coder: NSCoder) {
  57. fatalError("init(coder:) has not been implemented")
  58. }
  59. @objc func settingBtnClickAction() {
  60. settingBtnClosure?()
  61. }
  62. @objc func closeBtnClickAction() {
  63. self.removeFromSuperview()
  64. backBtnClosure?()
  65. }
  66. }
  67. extension KeyboardTipsPopView {
  68. func initUI() {
  69. self.addSubview(bgView)
  70. bgView.snp.makeConstraints { make in
  71. make.edges.equalToSuperview()
  72. }
  73. self.addSubview(mainView)
  74. mainView.snp.makeConstraints { make in
  75. make.size.equalTo(CGSize(width: 296, height: 209))
  76. make.centerX.equalToSuperview()
  77. make.top.equalTo(14)
  78. }
  79. self.mainView.addSubview(closeBtn)
  80. closeBtn.snp.makeConstraints { make in
  81. make.size.equalTo(CGSize(width: 24, height: 24))
  82. make.right.equalTo(-13)
  83. make.top.equalTo(12)
  84. }
  85. self.mainView.addSubview(titleLabel)
  86. titleLabel.snp.makeConstraints { make in
  87. make.centerX.equalToSuperview()
  88. make.top.equalTo(38)
  89. }
  90. self.mainView.addSubview(mainImageView)
  91. mainImageView.snp.makeConstraints { make in
  92. make.size.equalTo(CGSize(width: 254, height: 77))
  93. make.top.equalTo(titleLabel.snp.bottom).offset(14)
  94. make.centerX.equalToSuperview()
  95. }
  96. self.mainView.addSubview(settingBtn)
  97. settingBtn.snp.makeConstraints { make in
  98. make.size.equalTo(CGSize(width: 103, height: 34))
  99. make.top.equalTo(mainImageView.snp.bottom).offset(14)
  100. make.centerX.equalToSuperview()
  101. }
  102. }
  103. }