/SwiftUIPager

Native Pager in SwiftUI

Primary LanguageSwiftMIT LicenseMIT

SwiftUIPager

CI codecov Swift Package Manager compatible Cocoapods Carthage compatible CocoaPods platforms License: MIT

SwiftUIPager provides a Pager component built with SwiftUI native components. Pager is a view that renders a scrollable container to display a handful of pages. These pages are recycled on scroll, so you don't have to worry about memory issues. Pager will load just a handful of items, enough to beatifully scroll along.

Create vertical or horizontal pagers, align the cards, change the direction of the scroll, animate the pagination... Pager lets you do anything you want.

Example of usage

Requirements

  • iOS 13.0+
  • macOS 10.15+
  • watchOS 6.0+
  • tvOS 13.0+
  • Swift 5.1+

Installation

CocoaPods

pod 'SwiftUIPager'

Swift Package Manager

In Xcode:

Carthage

github "fermoya/SwiftUIPager"

Manually

  • Download SwiftUIPager.xcframework
  • Create a group Frameworks inside your project and drag and drop SwiftUIPager.xcframework

Manual Installation Step 1

  • Make sure in your target's build phases that the option Embed & Sign is selected:

Manual Installation Step 2

Known Issues

  • NavigationLink and Button might work oddly with Pager if pagingPriority(.simultaneous) is used in SwiftUI 1.0 and iOS 13. This issue isn't reproducible in iOS 14 beta. For more information, follow this link.
  • Depending on the Xcode version, you might run into a precondition failure affecting SwiftUI 1.0 and iOS 13. This issue doesn't occur on Xcode 12 beta. For more information about workarounds, see Precondition failure: invalid value type for attribute #60.

Feedback

If you happen to encounter any problem or you have any suggestion, please, don't hesitate to open an issue or reach out to me at fmdr.ct@gmail.com.
This is an open source code project, so feel free to collaborate by raising a pull-request or sharing your feedback.

Support Open Source

If you love this library, understand all the effort it takes to maintain it and would like to support me, you can buy me a coffee by following this link:

Buy Me A Coffee

You can also sponsor me by hitting the GitHub Sponsor button. All help is very much appreciated.

License

SwiftUIPager is available under the MIT license. See the LICENSE file for more info.