Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Parchment

Parchment

MITSwiftv4.1.0

A flexible paging view library for iOS with a highly customizable menu built on UICollectionView.

GitHubGitHub
3.5k stars435 forks0 contributors

What is Parchment?

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.

Target Audience

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.

Value Proposition

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.

Overview

A paging view with a highly customizable menu ✨

Use Cases

Best For

  • Building swipeable tab interfaces with custom menu designs
  • Creating memory-efficient pagination for large datasets
  • Implementing infinite scrolling calendars or timelines
  • Developing onboarding flows with animated indicators
  • Adding customizable navigation to image galleries or feeds
  • Migrating UIKit paging logic to SwiftUI with similar APIs

Not Ideal For

  • Apps requiring standard iOS tab bar appearance with minimal configuration
  • Projects targeting iOS versions below 12.0
  • Simple paging needs where UIKit's UIPageViewController or SwiftUI's TabView suffice

Pros & Cons

Pros

UICollectionView-Based Menus

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.

On-Demand View Controller Allocation

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.

Infinite Data Source Support

Enables infinitely large data sources through PagingViewControllerInfiniteDataSource, perfect for calendars or endless feeds, with documented examples in the README.

SwiftUI and UIKit Compatibility

Provides dedicated APIs for both SwiftUI and UIKit, facilitating migration and use in mixed codebases, with separate documentation and modifiers for each framework.

Cons

Configuration Complexity

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.

UIKit Dependency in SwiftUI

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.

Minimal Default Styling

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.

Frequently Asked Questions

Quick Stats

Stars3,474
Forks435
Contributors0
Open Issues29
Last commit1 year ago
CreatedSince 2016

Tags

#ios#ios-libraries#pagination#ui-components#uicollectionview#mobile-development#swiftui#swift#swift-library#navigation#ios-ui#uikit

Built With

S
SwiftUI
U
UICollectionView
U
UIKit
S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 1 day ago

Related Projects

RESideMenuRESideMenu

iOS 7/8 style side menu with parallax effect.

Stars7,047
Forks1,327
Last commit8 years ago
XLPagerTabStripXLPagerTabStrip

Android PagerTabStrip for iOS.

Stars7,010
Forks1,317
Last commit2 years ago
SideMenuSideMenu

Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.

Stars5,823
Forks695
Last commit3 years ago
ViewDeckViewDeck

An implementation of the sliding menu found in various iOS apps.

Stars5,272
Forks956
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub