hons82 / THSegmentedPager

Simple plugin-sample using the HMSegmentedControl and a UIPageViewController to show Tabs
Other
219 stars 52 forks source link

THSegmentedPager

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.

Screenshots

iPhone Portrait iPhone Landscape

Installation

CocoaPods

Install with CocoaPods by adding the following to your Podfile:

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

Note: We follow http://semver.org for versioning the public API.

Manually

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

Dependencies

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

Features

V1.1.X

V1.0.X

Usage

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;
}

Contributions

...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

Contributors

Victor Ilyukevich

JaxGit

License

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