111 lines
3.6 KiB
Markdown
111 lines
3.6 KiB
Markdown
XLPagerTabStrip
|
|
---------------
|
|
|
|
By [XMARTLABS](http://xmartlabs.com).
|
|
|
|
Android [PagerTabStrip](http://developer.android.com/reference/android/support/v4/view/PagerTabStrip.html) for iOS!
|
|
|
|
**XLPagerTabStrip** is a *Container View Controller* that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.
|
|
|
|

|
|
|
|
XLPagerTabStrip was originally inspired by [Tell market](http://about.tellmarket.com/) app.
|
|
|
|
Purpose
|
|
--------
|
|
**XLPagerTabStrip** helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.
|
|
|
|
|
|
How to use it
|
|
--------------
|
|
|
|
Integrate `XLPagerTabStrip` is as easy as following these steps:
|
|
|
|
1. Create a UIViewController class that should extend from either `XLSegmentedPagerTabStripViewController`, `XLBarPagerTabStripViewController`, `XLButtonBarPagerTabStripViewController`, `XLTwitterPagerTabStripViewController`.
|
|
|
|
2. The recently created concrete view controller should conform to `XLPagerTabStripViewControllerDataSource` implementing: `-(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;`
|
|
|
|
3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the [Demo folder](XLPagerTabStrip/Demo)).
|
|
|
|
4. Enjoy!
|
|
|
|
For further details take a look at the [Demo folder](XLPagerTabStrip/Demo) to see the code of examples shown above.
|
|
|
|
FAQ
|
|
----------------------
|
|
|
|
#####How to change the visible child view controller programmatically
|
|
|
|
`XLPagerTabStripViewController` provides the following methods to programmatically change the visible child view controller:
|
|
|
|
```objc
|
|
-(void)moveToViewControllerAtIndex:(NSUInteger)index;
|
|
-(void)moveToViewController:(UIViewController *)viewController;
|
|
```
|
|
|
|
Installation
|
|
--------------------------
|
|
|
|
The easiest way to use `XLPagerTabStrip` in your app is via [CocoaPods](http://cocoapods.org/ "CocoaPods").
|
|
|
|
1. Add the following line in the project's Podfile file:
|
|
`pod 'XLPagerTabStrip', '~> 1.0'`.
|
|
2. Run the command `pod install` from the Podfile folder directory.
|
|
|
|
|
|
Customization
|
|
--------------
|
|
|
|
The most interesting customizable features are:
|
|
|
|
* Ability to skip intermediate view controllers when tapped on a "tab".
|
|
* Indicators can be added at any position of the screen through storyboard layouts.
|
|
* Choose between progressive, non-progressive indicators.
|
|
* Add space padding between view controllers.
|
|
|
|
|
|
|
|
Requirements
|
|
-----------------------------
|
|
|
|
* ARC
|
|
* iOS 7.0 and above
|
|
|
|
|
|
Release Notes
|
|
--------------
|
|
|
|
Version 1.1.1
|
|
|
|
* Nav Button example added
|
|
* Support for iOS 7.0 and above
|
|
|
|
Version 1.1.0
|
|
|
|
* Twitter pager added
|
|
* Bug fixes and stability improvements
|
|
|
|
Version 1.0.0
|
|
|
|
* Initial release
|
|
|
|
Author
|
|
-----------------
|
|
|
|
[Martin Barreto](https://www.github.com/mtnBarreto "Martin Barreto Github") ([@mtnBarreto](http://twitter.com/mtnBarreto "@mtnBarreto"))
|
|
|
|
Contributors
|
|
----------------
|
|
|
|
* Washington Miranda
|
|
* Martin Pastorin ([@dmpastorin](http://twitter.com/dmpastorin "@dmpastorin"))
|
|
* [Full contributors list](https://github.com/xmartlabs/XLPagerTabStrip/graphs/contributors)
|
|
|
|
Contact
|
|
----------------
|
|
|
|
Any suggestion or question? Please create a Github issue or reach us out.
|
|
|
|
[xmartlabs.com](http://xmartlabs.com).
|
|
[@xmartlabs](http://twitter.com/xmartlabs "@xmartlabs")
|