Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. TabPageViewController

TabPageViewController

MITSwift

A Swift paging view controller with a scrollable tab bar for iOS apps.

GitHubGitHub
1.4k stars218 forks0 contributors

What is TabPageViewController?

TabPageViewController is a Swift library for iOS that combines a paging view controller with a scrollable tab bar. It allows developers to implement tabbed navigation interfaces where users can swipe between view controllers or tap on tabs, solving the need for customizable and interactive tab layouts in iOS apps.

Target Audience

iOS developers building apps that require tabbed navigation with swiping capabilities, such as news readers, social media apps, or dashboard interfaces.

Value Proposition

Developers choose TabPageViewController for its simplicity, extensive customization options, and support for infinite scrolling mode, making it a flexible alternative to building custom tab navigation from scratch.

Overview

Paging view controller and scroll tab view

Use Cases

Best For

  • Implementing swipeable tab navigation in iOS apps
  • Creating scrollable tab bars for many sections
  • Building news or content apps with category tabs
  • Developing dashboard interfaces with multiple panels
  • Adding infinite scrolling between view controllers
  • Customizing tab appearance with colors and fonts

Not Ideal For

  • Apps targeting iOS versions below 13
  • Objective-C projects without Swift integration
  • Interfaces requiring fixed, non-scrollable tab bars
  • Complex navigation needs like nested tabs or server-driven dynamic content

Pros & Cons

Pros

Infinite Scrolling Support

Enables infinity mode for looping through view controllers, ideal for content-heavy apps like news readers, as shown in the README's demo.

Highly Customizable UI

Offers TabPageOption for precise control over colors, fonts, heights, and backgrounds, allowing tailored tab appearances without extra libraries.

Scrollable Tab Bar

Provides horizontal scrolling for tabs, useful when handling many sections, preventing clutter in apps with extensive navigation.

Easy Integration

Available via CocoaPods and Carthage, simplifying setup for modern iOS development with Swift, as documented in the installation section.

Cons

Limited Backward Compatibility

Requires iOS 13 or newer, excluding support for older devices and apps that need to maintain legacy iOS versions.

Swift-Only Implementation

Built entirely in Swift, making it unsuitable for Objective-C projects or mixed-codebases without Swift integration overhead.

Basic Feature Set

Lacks advanced features like dynamic tab updates or complex animations out of the box, which might require custom extensions for sophisticated use cases.

Frequently Asked Questions

Quick Stats

Stars1,386
Forks218
Contributors0
Open Issues34
Last commit4 years ago
CreatedSince 2016

Tags

#ios#tab-navigation#ui#ui-components#cocoapods#swift#uipageviewcontroller#carthage#tab#customizable-ui

Built With

i
iOS
S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 8 hours ago

Related Projects

animated-tab-baranimated-tab-bar

:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion

Stars11,085
Forks1,305
Last commit4 years ago
XLPagerTabStripXLPagerTabStrip

Android PagerTabStrip for iOS.

Stars6,995
Forks1,311
Last commit2 years ago
ESTabBarControllerESTabBarController

:octocat: ESTabBarController is a Swift model for customize UI, badge and adding animation to tabbar items. Support lottie!

Stars5,221
Forks621
Last commit3 years ago
FoldingTabBar.iOSFoldingTabBar.iOS

Folding Tab Bar and Tab Bar Controller

Stars3,662
Forks449
Last commit4 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