Demo
Open Refresh.xcodeproj
and run Demo
target.
Features
- Support drop-down refresh and scroll up to load more.
- Fully based on SwiftUI, no UIViewRepresentable, no UIViewControllerRepresentable.
- Compatible with NavigationView, TabView.
- Fully customizable UI.
- Easy to animate.
- Simple API.
Usage
ScrollView {
RefreshHeader(refreshing: $headerRefreshing, action: reload) { progress in
if self.headerRefreshing {
Text("refreshing...")
} else {
Text("Pull to refresh")
}
}
ForEach(items) { item in
YourCell(item: item)
}
RefreshFooter(refreshing: $footerRefreshing, action: loadMore) {
if self.noMore {
Text("No more data !")
} else {
Text("refreshing...")
}
}
.noMore(noMore)
.preload(offset: 50)
}
.enableRefresh()
Installation
Swift Package Manager
- Select
Xcode -> File -> Swift Packages -> Add Package Dependency...
- Enter
https://github.com/wxxsw/Refresh
. - Click
Next
, then select the version, complete.
Requirements
- iOS 13+
- Xcode 11+
- Swift 5+
License
Refresh is released under the MIT license. See LICENSE for details.