// readme

Pager

UIKit pager view controller with a scroll-synced tab bar and indicator, built on compositional layout and diffable data sources.

Features

  • Host any UIViewController per page via Page providers; works inside navigation or tab stacks.
  • Scroll-synced tab bar whose indicator width follows the current label; optional selection haptics.
  • Shared tab bar state through PageViewController.state, including page titles and transition progress.
  • Safe rotation/resizing: keeps the current page and indicator aligned on size changes.
  • Customizable content insets per page (itemContentInsets) for floating headers / safe areas.
  • Targets iOS 18+ and visionOS 2+ (Swift tools 6.2).

Installation (Swift Package Manager)

Add the package to Xcode or your Package.swift:

dependencies: [
    .package(url: "https://github.com/noppefoxwolf/Pager.git", from: "0.1.0")
]

Then add Pager to your target dependencies.

Compatibility note

On iOS 26 and later, the background blur of the navigation bar palette does not work correctly when UIDesignRequiresCompatibility is set to true. Set it to false (or remove the key) to use the palette background blur normally.โ€ฆ