Simple plugin-sample using the HMSegmentedControl and a UIPageViewController to show Tabs
Objective-C Ruby
Latest commit abb1299 Oct 8, 2015 @hons82 Updated Tests for iOS9
Failed to load latest commit information.
THSegmentedPager add workaround for UIPageViewController's bug to avoid transition to … Sep 18, 2015
THSegmentedPagerExample Updated Tests for iOS9 Oct 8, 2015
.gitignore Initial Import Jul 28, 2014
.slather.yml Add Code Coverage support Apr 20, 2015
.travis.yml bump to version 1.1.3 Sep 18, 2015
Gemfile.lock Add Code Coverage support Apr 20, 2015 Initial Import Jul 28, 2014 bump to version 1.1.3 Sep 18, 2015
Rakefile bump to version 1.1.3 Sep 18, 2015
THSegmentedPager.podspec Add missing podspec Sep 18, 2015


Build Status Pod Version Pod Platform Pod License Coverage Status

This control combines the great HMSegmentedControl with a UIPageviewController that takes care of showing the right page when clicking on the HMSegmentedControl and updating the selection when the UIPageviewController scrolls.


iPhone Portrait iPhone Landscape



Install with CocoaPods by adding the following to your Podfile:

platform :ios, '7.0'
pod 'THSegmentedPager', '~> 1.1.3'

Note: We follow for versioning the public API.


Or copy the THSegmentedPager/ directory from this repo into your project.


If you prefer the manual approach be aware that you'll need to import the dependencies which in this case are

This will cause some errors with imports not found correctly which you'll need to solve manually too




  • If it is used in a UINavigationController it will show the same Viewcontroller when it comes back
  • Pull Request thx to noelrocha
  • The control is now able to allocate viewcontrollers from the actual storyboard by just knowing a list of identifiers


This is a sample initialization taken from the ExampleProject.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    THSegmentedPager *pager = (THSegmentedPager *)self.window.rootViewController;
    NSMutableArray *pages = [NSMutableArray new];
    for (int i = 1; i < 4; i++) {
        // Create a new view controller and pass suitable data.
        SamplePagedViewController *pagedViewController = [pager.storyboard instantiateViewControllerWithIdentifier:@"SamplePagedViewController"];
        [pagedViewController setViewTitle:[NSString stringWithFormat:@"Page %d",i]];
        [pagedViewController.view setBackgroundColor:[UIColor colorWithHue:((i/8)%20)/20.0+0.02 saturation:(i%8+3)/10.0 brightness:91/100.0 alpha:1]];
        [pages addObject:pagedViewController];
    [pager setPages:pages];
    return YES;


...are really welcome. If you have an idea just fork the library change it and if its useful for others and not affecting the functionality of the library for other users I'll insert it


Victor Ilyukevich

  • Added automated Tests
  • Added Travis CI and support



Source code of this project is available under the standard MIT license. Please see the license file.