高度自定義的線性下拉刷新控件 SJLineRefresh
- 完全自定義路徑
- 多種內(nèi)置動畫
- swift 3.0+
- 使用
1.基礎(chǔ)用法
let aPath = Bundle.main.path(forResource: "HHMedic", ofType: "plist")!
let aConfig = SJRefreshConfig(plist: aPath)
tableView.sj_header = SJRefreshView(config: aConfig) { [weak self] in
// do your refresh
}
2.全局設(shè)置
let aPath = getCurrentBundle().path(forResource: "HHMedic", ofType: "plist") ?? ""
SJRefreshManager.default.defaultConfig = SJRefreshConfig(plist: aPath) // 設(shè)置全局config
tableView.sj_header = SJRefreshView.default { [weak self] in
// 刷新回調(diào)
// 結(jié)束刷新
self?.tableView.endRefresh()
}
// plist只加載一次
3.手動刷新/結(jié)束
tableView.beginRefresh() // 手動開始刷新
tableView.endRefresh() // 結(jié)束刷新
4.動畫參數(shù)
startRatio // 開始動畫的起始點與整個高度的比例
endRatio // 結(jié)束動畫的起始點與整個高度的比例
stepLength // 每個line"閃爍"所用時間
stepDuration // "閃爍"的動畫時長
style // 動畫類型
normal // 默認(rèn)
stay // "閃爍"完成后保持閃爍狀態(tài)
step // 下拉時,一個line繪制完成后才繼續(xù)下一個繪制
reverse //從最后一個line往前"閃爍
- 創(chuàng)建形狀
- 使用PaintCode畫線, 在plist中寫入對應(yīng)的所有線條的起始點和終點(數(shù)量要保持一致)
- 下拉刷新視圖的寬高等于起點和終點的最大距離, 居中對齊
- 安裝
CocoaPods
pod 'SJLineRefresh', '~> 1.1.1'
Carthage
github "515783034/SJLIineRefresh" ~> 1.1.1