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


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



pod 'SwiftUIPager'

Swift Package Manager

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
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.


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.