KMWinBackButtonView.swift 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // KMWinBackButtonView.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by User-Tangchao on 2025/1/15.
  6. //
  7. import Cocoa
  8. class KMWinBackButtonView: NSView {
  9. private lazy var backgroundView_: KMGradientView = {
  10. let view = KMGradientView()
  11. return view
  12. }()
  13. private lazy var button_: NSButton = {
  14. let view = NSButton()
  15. view.isBordered = false
  16. view.target = self
  17. view.action = #selector(buttonAction)
  18. return view
  19. }()
  20. var backgroundView: KMGradientView {
  21. get {
  22. return backgroundView_
  23. }
  24. }
  25. var button: NSButton {
  26. get {
  27. return button_
  28. }
  29. }
  30. var itemClick: KMCommonClickBlock?
  31. convenience init() {
  32. self.init(frame: .init(x: 0, y: 0, width: 200, height: 40))
  33. initSubviews()
  34. }
  35. override func awakeFromNib() {
  36. super.awakeFromNib()
  37. initSubviews()
  38. }
  39. public func initSubviews() {
  40. addSubview(backgroundView_)
  41. addSubview(button_)
  42. backgroundView_.mas_makeConstraints { make in
  43. make?.edges.mas_equalTo()(0)
  44. }
  45. button_.mas_makeConstraints { make in
  46. make?.edges.mas_equalTo()(0)
  47. }
  48. }
  49. @objc func buttonAction() {
  50. itemClick?(1)
  51. }
  52. }