whatisgithub

What is xlpagertabstrip?

xmartlabs/xlpagertabstrip — explained in plain English

Analysis updated 2026-06-24

7,003SwiftAudience · developerComplexity · 2/5Setup · easy

In one sentence

XLPagerTabStrip is a Swift iOS library that adds swipeable tab navigation, like Instagram or YouTube's tab bars, to any app with minimal setup: inherit a base class, connect a scroll view, return your child view controllers.

Mindmap

mindmap
  root((XLPagerTabStrip))
    Tab Styles
      Button Bar
      Plain Bar
      Twitter style
      Segmented
    Setup
      Inherit base class
      Connect scroll view
      Return child controllers
    Customization
      Indicator animation
      Colors and fonts
      Cell width
    Tech Stack
      Swift
      CocoaPods
      Carthage
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add Instagram-style swipeable tab navigation to an iOS app using the Button Bar style with labeled tabs.

USE CASE 2

Replace a UISegmentedControl with a smooth swipe-based tab bar that animates between view controllers.

USE CASE 3

Build a content app with multiple category tabs the user can swipe through, with customizable indicator colors and fonts.

What is it built with?

SwiftiOSCocoaPodsCarthage

How does it compare?

xmartlabs/xlpagertabstripdimillian/icecubesappchenyilong/cyltabbarcontroller
Stars7,0036,9876,981
LanguageSwiftSwiftSwift
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

So what is it?

XLPagerTabStrip is an iOS library written in Swift that lets you build tabbed navigation inside your app, the kind where you can swipe left and right between different screens while a visual indicator tracks which tab you are on. The pattern is common in popular apps: Instagram uses it for profile sections, YouTube uses it to separate tabs like Home, Trending, and Subscriptions, and Spotify uses a similar layout for library views. This library brings that same interaction to any iOS app. The library gives you four ready-made styles for the tab indicator. The Button Bar style shows labeled buttons along the top, which is the most widely used layout. The Bar style skips labels entirely and just shows a sliding underline. The Twitter style, modeled after an older version of the Twitter app, places the indicator differently. The Segmented style uses a standard iOS segmented control as the selector. All four styles share the same underlying logic, so swapping between them is mostly a matter of choosing which base class your view controller extends from. To use it, you create a view controller that inherits from one of those four base classes, connect a scroll view to the container outlet in your storyboard, and then override a single method to return the list of child view controllers you want to display. Each child screen tells the tab strip what label or image to show for its tab by conforming to a small protocol with one required method. That is the full setup for a basic integration. Customization options let you control how the tab indicator moves during a swipe. You can choose between a progressive style, where the indicator slides smoothly as your finger moves, or a common style, where it snaps into place at the halfway point of the transition. There are also detailed options for the Button Bar style covering cell width, spacing, colors, and font. The library is available through CocoaPods and Carthage, the two standard iOS dependency managers, and requires Swift 5. The authors also maintain a separate SwiftUI-based version called PagerTabStripView for projects that use SwiftUI instead of UIKit.

Copy-paste prompts

Prompt 1
I want to add an Instagram-style swipeable tab bar to my iOS app using XLPagerTabStrip, show me the Swift setup with Button Bar style.
Prompt 2
How do I customize the tab indicator in XLPagerTabStrip to use a specific color, font size, and cell width in my iOS app?
Prompt 3
Set up XLPagerTabStrip with CocoaPods in my existing iOS project and add three swipeable screens, walk me through the code.
Prompt 4
What is the difference between progressive and common scrolling style in XLPagerTabStrip and when should I choose each?

Frequently asked questions

What is xlpagertabstrip?

XLPagerTabStrip is a Swift iOS library that adds swipeable tab navigation, like Instagram or YouTube's tab bars, to any app with minimal setup: inherit a base class, connect a scroll view, return your child view controllers.

What language is xlpagertabstrip written in?

Mainly Swift. The stack also includes Swift, iOS, CocoaPods.

How hard is xlpagertabstrip to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is xlpagertabstrip for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.