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.
- Requirements
- Installation
- Legacy projects support
- Usage
- Known Issues
- Feedback
- Support Open Source
- License
- iOS 13.0+
- macOS 10.15+
- watchOS 6.0+
- tvOS 13.0+
- Swift 5.1+
pod 'SwiftUIPager'
In Xcode:
- File ⭢ Swift Packages ⭢ Add Package Dependency...
- Use the URL https://github.com/fermoya/SwiftUIPager.git
github "fermoya/SwiftUIPager"
- Download SwiftUIPager.xcframework
- Create a group Frameworks inside your project and drag and drop SwiftUIPager.xcframework
- Make sure in your target's build phases that the option Embed & Sign is selected:
NavigationLink
andButton
might work oddly withPager
ifpagingPriority(.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.
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 [email protected].
This is an open source code project, so feel free to collaborate by raising a pull-request or sharing your feedback.
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:
You can also sponsor me by hitting the GitHub Sponsor button. All help is very much appreciated.
SwiftUIPager
is available under the MIT license. See the LICENSE file for more info.