65 lines
1.8 KiB
Swift
65 lines
1.8 KiB
Swift
//
|
||
// UIScrollView+SPRefresh.swift
|
||
// ShortPlay
|
||
//
|
||
// Created by 曾觉新 on 2025/4/19.
|
||
//
|
||
|
||
import UIKit
|
||
|
||
extension UIScrollView {
|
||
func sp_addRefreshHeader(insetTop: CGFloat = 0, block: (() -> Void)?) {
|
||
|
||
|
||
self.mj_header = MJRefreshNormalHeader(refreshingBlock: {
|
||
block?()
|
||
})
|
||
self.mj_header?.ignoredScrollViewContentInsetTop = insetTop
|
||
}
|
||
|
||
func sp_addRefreshFooter(insetBottom: CGFloat = 0, block: (() -> Void)?) {
|
||
let footer = MJRefreshAutoNormalFooter(refreshingBlock: {
|
||
block?()
|
||
})
|
||
footer.ignoredScrollViewContentInsetBottom = insetBottom
|
||
// footer.stateLabel?.font = .text_sm
|
||
// footer.stateLabel?.textColor = .system_text_secondary_300
|
||
|
||
self.mj_footer = footer
|
||
|
||
|
||
}
|
||
|
||
// func sp_setRefreshFooterTitle(title: String = NSLocalizedString("已经到底了~", comment: ""), state: MJRefreshState) {
|
||
// (self.mj_footer as? MJRefreshAutoStateFooter)?.setTitle(title, for: state)
|
||
// }
|
||
|
||
func sp_addRefreshBackFooter(insetBottom: CGFloat = 0, block: (() -> Void)?) {
|
||
self.mj_footer = MJRefreshBackNormalFooter(refreshingBlock: {
|
||
block?()
|
||
})
|
||
|
||
self.mj_footer?.ignoredScrollViewContentInsetBottom = insetBottom
|
||
}
|
||
|
||
func sp_endHeaderRefreshing() {
|
||
self.mj_header?.endRefreshing()
|
||
}
|
||
|
||
func sp_endFooterRefreshing() {
|
||
if self.mj_footer?.state == .noMoreData { return }
|
||
self.mj_footer?.endRefreshing()
|
||
}
|
||
|
||
///重置没有更多
|
||
func sp_resetNoMoreData() {
|
||
self.mj_footer?.resetNoMoreData()
|
||
}
|
||
|
||
func sp_endRefreshingWithNoMoreData() {
|
||
// self.mj_footer?.state = .noMoreData
|
||
self.mj_footer?.endRefreshingWithNoMoreData()
|
||
}
|
||
|
||
}
|