A flexible paging view library for iOS with a highly customizable menu built on UICollectionView.
Parchment is an iOS library that provides a paging view interface with a customizable menu indicator for navigating between view controllers. It solves the problem of building tab-like navigation with smooth scrolling, memory-efficient view controller management, and extensive design flexibility. Developers use it to create interfaces like swipeable tabs, calendars, or image galleries with tailored menu appearances.
iOS developers building apps with tabbed navigation, onboarding flows, or content sliders that require custom menu designs and smooth transitions. It's particularly useful for those needing memory-efficient handling of many view controllers or infinite scrolling patterns.
Parchment stands out for its deep customization capabilities via UICollectionView-based menus, support for both SwiftUI and UIKit, and efficient memory management. Unlike simpler paging solutions, it offers fine-grained control over menu behavior, data sources, and visual styling without sacrificing performance.
A paging view with a highly customizable menu ✨
Leverages UICollectionView for menu items, allowing custom cells, layouts, and behaviors to match any design, as shown in the custom cells and layout subclassing options.
Allocates view controllers only when needed via data source protocols, preventing memory bloat for large datasets, which is highlighted in the memory-efficient feature section.
Enables infinitely large data sources through PagingViewControllerInfiniteDataSource, perfect for calendars or endless feeds, with documented examples in the README.
Provides dedicated APIs for both SwiftUI and UIKit, facilitating migration and use in mixed codebases, with separate documentation and modifiers for each framework.
Achieving basic functionality requires implementing data source protocols and understanding numerous customization options, which can be overwhelming for simple use cases compared to drop-in solutions.
The SwiftUI API is built on top of UIKit components, which might introduce integration challenges and not fully leverage SwiftUI's declarative nature, as seen in the underlying UICollectionView usage.
Out-of-the-box appearance is basic, necessitating custom code to achieve polished, iOS-standard designs, as indicated by the extensive list of properties and modifiers needed for styling.
iOS 7/8 style side menu with parallax effect.
Android PagerTabStrip for iOS.
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.
An implementation of the sliding menu found in various iOS apps.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.