https://github.com/sylvanasx/swiftuirefresh
SwiftUIRefresh support async refresh
https://github.com/sylvanasx/swiftuirefresh
async pulltorefresh refresh swift swiftui
Last synced: about 1 month ago
JSON representation
SwiftUIRefresh support async refresh
- Host: GitHub
- URL: https://github.com/sylvanasx/swiftuirefresh
- Owner: SylvanasX
- Created: 2020-06-27T03:17:59.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-27T05:53:52.000Z (almost 6 years ago)
- Last Synced: 2025-01-10T07:55:32.630Z (over 1 year ago)
- Topics: async, pulltorefresh, refresh, swift, swiftui
- Language: Swift
- Homepage:
- Size: 15.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SwiftUIRefresh
SwiftUIRefresh support async refresh
## Usage
```
struct ContentView: View {
@State var numbers:[Int] = []
let refreshController: RefreshController = RefreshController()
var body: some View {
RefreshNavigationView(title: "SwiftUIRefresh", refreshController: refreshController, action:{
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
self.numbers = self.refreshNumbers()
self.refreshController.endRefreshing()
}
}){
ForEach(self.numbers, id: \.self){ number in
VStack(alignment: .leading){
Text("\(number)")
Divider()
}
}
}
.onAppear {
self.refreshController.beginRefreshing()
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.numbers = self.refreshNumbers()
self.refreshController.endRefreshing()
}
}
}
func refreshNumbers() -> [Int] {
var numbers = [Int]()
for _ in 0...30 {
numbers.append(Int.random(in: 0 ..< 1000))
}
return numbers
}
}
```
## Installation
In Xcode got to File -> Swift Packages -> Add Package Dependency and paste inthe repo's url: https://github.com/SylvanasX/SwiftUIRefresh