UICollectionView+More.swift 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. //
  2. // UICollectionView+More.swift
  3. // ClockWidget
  4. //
  5. // Created by TSYH on 2023/10/7.
  6. //
  7. import UIKit
  8. import MJRefresh
  9. //extension UICollectionView {
  10. // func addRefresh(handler: (() -> Void)?) {
  11. // let header = MJRefreshNormalHeader {
  12. // handler?()
  13. // }
  14. // header.lastUpdatedTimeLabel?.isHidden = true
  15. // header.stateLabel?.isHidden = true
  16. // header.setTitle("", for: .idle)
  17. // mj_header = header
  18. // }
  19. //
  20. // func addLoadMore(handler: (() -> Void)?) {
  21. // let footer = MJRefreshAutoNormalFooter {
  22. // handler?()
  23. // }
  24. // footer.isRefreshingTitleHidden = true
  25. // footer.setTitle("", for: .idle)
  26. // footer.height = 30
  27. // mj_footer = footer
  28. // }
  29. //
  30. // public override func endRefreshing(noMore: Bool = false) {
  31. // mj_header?.endRefreshing()
  32. // if noMore {
  33. // mj_footer?.endRefreshingWithNoMoreData()
  34. // (mj_footer as? MJRefreshAutoNormalFooter)?.stateLabel?.isHidden = true
  35. // (mj_footer as? FeedBackRefreshFooter)?.shouldShowFeedback = true
  36. // } else {
  37. // mj_footer?.endRefreshing()
  38. // (mj_footer as? MJRefreshAutoNormalFooter)?.stateLabel?.isHidden = false
  39. // (mj_footer as? FeedBackRefreshFooter)?.shouldShowFeedback = false
  40. // }
  41. // }
  42. //}
  43. //
  44. //// Feedback footer
  45. //extension UICollectionView {
  46. // func addFeedbackLoadMore(feedbackText: String?, handler: (() -> Void)?) {
  47. // let footer = FeedBackRefreshFooter {
  48. // handler?()
  49. // }
  50. // footer.feedbackText = feedbackText
  51. // footer.isRefreshingTitleHidden = true
  52. // footer.setTitle("", for: .idle)
  53. // footer.height = 68
  54. // mj_footer = footer
  55. // }
  56. //}
  57. //
  58. //// Feedback footer
  59. //extension UITableView {
  60. // func addFeedbackLoadMore(feedbackText: String?, handler: (() -> Void)?) {
  61. // let footer = FeedBackRefreshFooter {
  62. // handler?()
  63. // }
  64. // footer.feedbackText = feedbackText
  65. // footer.isRefreshingTitleHidden = true
  66. // footer.setTitle("", for: .idle)
  67. // footer.height = 68
  68. // mj_footer = footer
  69. // }
  70. //}
  71. //class FeedBackRefreshFooter: MJRefreshAutoNormalFooter {
  72. //// lazy var feedbackView = FooterFeedBackView()
  73. //
  74. // var feedbackText: String? {
  75. // didSet {
  76. // feedbackView.feedbackText = feedbackText
  77. // }
  78. // }
  79. //
  80. // override init(frame: CGRect) {
  81. // super.init(frame: frame)
  82. //
  83. // feedbackView.isHidden = true
  84. // addSubview(feedbackView)
  85. // feedbackView.snp.makeConstraints { make in
  86. // make.leading.top.trailing.equalToSuperview()
  87. // make.height.equalTo(68)
  88. // }
  89. // }
  90. //
  91. // required init?(coder: NSCoder) {
  92. // fatalError("init(coder:) has not been implemented")
  93. // }
  94. //
  95. // var shouldShowFeedback: Bool = false {
  96. // didSet {
  97. // feedbackView.isHidden = !shouldShowFeedback
  98. // }
  99. // }
  100. //}
  101. //class FooterFeedBackView: UIView {
  102. // lazy var textLabel = UILabel()
  103. // lazy var actionButton = UIButton()
  104. // lazy var feedbackLabel = UILabel()
  105. // lazy var arrowImageView = UIImageView()
  106. //
  107. // var feedbackText: String?
  108. //
  109. // override init(frame: CGRect) {
  110. // super.init(frame: frame)
  111. //
  112. // backgroundColor = .clear
  113. // addSubview(textLabel)
  114. // addSubview(actionButton)
  115. // actionButton.addSubview(feedbackLabel)
  116. // actionButton.addSubview(arrowImageView)
  117. // textLabel.snp.makeConstraints { make in
  118. // make.centerX.equalToSuperview()
  119. // make.centerY.equalToSuperview().offset(-14)
  120. // }
  121. // actionButton.snp.makeConstraints { make in
  122. // make.centerX.equalToSuperview()
  123. // make.centerY.equalToSuperview().offset(10)
  124. // make.height.equalTo(20)
  125. // }
  126. // feedbackLabel.snp.makeConstraints { make in
  127. // make.leading.equalTo(8)
  128. // make.centerY.equalToSuperview()
  129. // }
  130. // arrowImageView.snp.makeConstraints { make in
  131. // make.leading.equalTo(feedbackLabel.snp.trailing).offset(4)
  132. // make.trailing.equalTo(-4)
  133. // make.centerY.equalToSuperview()
  134. // make.width.height.equalTo(12)
  135. // }
  136. //
  137. // textLabel.text = "Didn't find liked?".localization()
  138. // textLabel.textColor = UIColor.textDisable
  139. // textLabel.font = UIFont.font(name: .Poppins, size: 12)
  140. //
  141. // feedbackLabel.isUserInteractionEnabled = false
  142. // feedbackLabel.text = "Feedback".localization()
  143. // feedbackLabel.textColor = UIColor.textAssist
  144. // feedbackLabel.font = UIFont.font(name: .Poppins, size: 12)
  145. // arrowImageView.image = UIImage(named: "c_arrow_right")?.mirrored()
  146. // arrowImageView.isUserInteractionEnabled = false
  147. //
  148. // actionButton.backgroundColor = "#F3F4F7".toColor()
  149. // actionButton.cornerRadius = 10
  150. // actionButton.addTarget(self, action: #selector(buttonClick(_:)), for: .touchUpInside)
  151. // }
  152. //
  153. // required init?(coder: NSCoder) {
  154. // fatalError("init(coder:) has not been implemented")
  155. // }
  156. //
  157. // @objc func buttonClick(_ sender: UIButton) {
  158. // UIApplication.shared.openEmail(from: feedbackText ?? "Widget")
  159. // }
  160. //}