fermoya/SwiftUIPager

Native Pager in SwiftUI

Swift

1,471

259 commits

updated Feb 16, 2024

See the code

README

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.

cocoapods
ios
macos
pager
pagerview
swift5
swiftpackagemanager
swiftui
swiftui-components
tvos
watchos
xcframework

fermoya/SwiftUIPager

Native Pager in SwiftUI

Swift

1,471

259 commits

updated Feb 16, 2024

See the code

README

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.

cocoapods
ios
macos
pager
pagerview
swift5
swiftpackagemanager
swiftui
swiftui-components
tvos
watchos
xcframework

Project health

Overall

3.3/10

Maintained

0/10

Code review

5/10
OpenSSF Scorecard

Significant stargazers

Roman Podymov

129 followers · starred Mar 2025

Sebastian Staudt

93 followers · starred Feb 2021

Yonas Kolb

1,033 followers · starred Mar 2020

Ahnaf Mahmud

117 followers · starred Feb 2024