Skip to content

Repository files navigation

SwiftUI-PullToRefresh

Pull to refresh implementation in SwiftUI for List and NavigationView

This article helped me a lot: https://swiftui-lab.com/scrollview-pull-to-refresh/ Thanks!

pulltorefresh

Installation:

It requires iOS 13 and Xcode 11!

In Xcode got to File -> Swift Packages -> Add Package Dependency and paste inthe repo's url: https://github.com/AppPear/SwiftUI-PullToRefresh

Usage:

You need to add RefreshableNavigationView(title: String, action: () -> Void, content: () -> View) to your View. Title is the navigationView title, and the action takes the refresh function. RefreshableNavigationView already encapsulates a List() so in the content you only need to define your cells. If you want TableViewCellSeparators don't forget to add a Divider() at the bottom of your cell.

Example:

import SwiftUIPullToRefresh
structContentView:View{@Statevarnumbers:[Int]=[23,45,76,54,76,3465,24,423]varbody:someView{RefreshableNavigationView(title:"Numbers", action:{self.numbers =self.generateRandomNumbers()}){ForEach(self.numbers, id: \.self){ number inVStack(alignment:.leading){Text("\(number)")Divider()}}}}func generateRandomNumbers()->[Int]{varsequence=[Int]()for_in0...30{
sequence.append(Int.random(in:0..<100))}return sequence
}}

About

Pull to refresh in SwiftUI for List, NavigationView

Resources

Stars

414 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages