KeyboardLoginTipView.swift 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. //
  2. // KeyboardLoginTipView.swift
  3. // AiKeyboard
  4. //
  5. // Created by Destiny on 2025/4/25.
  6. //
  7. import UIKit
  8. class KeyboardLoginTipView: UIView {
  9. var loginBtnClosure: (() -> ())?
  10. lazy var bgImageView: UIImageView = {
  11. let imageView = UIImageView()
  12. imageView.image = UIImage(named: "keyboard_bg")
  13. return imageView
  14. }()
  15. lazy var backBtn: UIButton = {
  16. let btn = UIButton()
  17. btn.setImage(UIImage(named: "keyboard_back_btn"), for: .normal)
  18. btn.layer.shadowOffset = CGSize(width: 0, height: 0)
  19. btn.layer.shadowColor = UIColor.hexStringColor(hexString: "#000000", alpha: 0.12).cgColor
  20. btn.layer.shadowRadius = 6.1
  21. return btn
  22. }()
  23. lazy var logoIcon: UIImageView = {
  24. let icon = UIImageView()
  25. icon.image = UIImage(named: "keyboard_logo")
  26. return icon
  27. }()
  28. lazy var loginLabel: UILabel = {
  29. let label = UILabel()
  30. label.text = "请登录后使用"
  31. label.font = .systemFont(ofSize: 20, weight: .medium)
  32. label.textColor = .hexStringColor(hexString: "#000000", alpha: 0.8)
  33. return label
  34. }()
  35. lazy var loginBtn: UIButton = {
  36. let btn = UIButton()
  37. btn.setTitle("去登录", for: .normal)
  38. btn.setTitleColor(.white, for: .normal)
  39. if let image = UIImage.gradient([UIColor.hexStringColor(hexString: "#7D46FC"), UIColor.hexStringColor(hexString: "#F5FAFF")], size: CGSize(width: 300, height: 48), locations: [0, 1], direction: .horizontal) {
  40. btn.backgroundColor = UIColor(patternImage: image)
  41. }
  42. btn.addTarget(self, action: #selector(loginBtnClickAction), for: .touchUpInside)
  43. return btn
  44. }()
  45. override init(frame: CGRect) {
  46. super.init(frame: frame)
  47. initUI()
  48. }
  49. required init?(coder: NSCoder) {
  50. fatalError("init(coder:) has not been implemented")
  51. }
  52. @objc func loginBtnClickAction() {
  53. loginBtnClosure?()
  54. }
  55. }
  56. extension KeyboardLoginTipView {
  57. func initUI() {
  58. self.addSubview(bgImageView)
  59. bgImageView.snp.makeConstraints { make in
  60. make.edges.equalToSuperview()
  61. }
  62. self.addSubview(backBtn)
  63. backBtn.snp.makeConstraints { make in
  64. make.size.equalTo(CGSize(width: 32, height: 32))
  65. make.left.equalTo(12)
  66. make.top.equalTo(14)
  67. }
  68. self.addSubview(logoIcon)
  69. logoIcon.snp.makeConstraints { make in
  70. make.size.equalTo(CGSize(width: 83, height: 83))
  71. make.centerX.equalToSuperview()
  72. make.top.equalTo(70)
  73. }
  74. self.addSubview(loginLabel)
  75. loginLabel.snp.makeConstraints { make in
  76. make.centerX.equalToSuperview()
  77. make.top.equalTo(logoIcon.snp.bottom).offset(14)
  78. }
  79. self.addSubview(loginBtn)
  80. loginBtn.snp.makeConstraints { make in
  81. make.size.equalTo(CGSize(width: 300, height: 48))
  82. make.top.equalTo(loginLabel.snp.bottom).offset(29)
  83. make.centerX.equalToSuperview()
  84. }
  85. }
  86. }