Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 2.39 KB

README.md

File metadata and controls

79 lines (61 loc) · 2.39 KB

Refresh

codebeat badge


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

  1. Select Xcode -> File -> Swift Packages -> Add Package Dependency...
  2. Enter https://github.com/wxxsw/Refresh.
  3. 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.