Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 1.96 KB

README.md

File metadata and controls

63 lines (49 loc) · 1.96 KB

GUITabPagerViewController

Usage

To use it, you should create a view controller that extends GUITabPagerViewController. Write your viewDidLoad as follows:

- (void)viewDidLoad {
  [super viewDidLoad];
  [self setDelegate:self];
  [self setDataSource:self];
}

- (void)viewWillAppear:(BOOL)animated {
  [super viewWillAppear:animated];
  [self reloadData];
}

Then, implement the GUITabPagerDataSource to populate the view. The data source has a couple of required methods, and a few more optional.

Data Source

The data source methods will allow you to provide content to your tab pager view controller.

Required Methods

- (NSInteger)numberOfViewControllers;
- (UIViewController *)viewControllerForIndex:(NSInteger)index;

Optional Methods

Note that despite being optional, the tab setup will require you to return either a UIView or an NSString to work.

- (UIView *)viewForTabAtIndex:(NSInteger)index;
- (NSString *)titleForTabAtIndex:(NSInteger)index;
- (CGFloat)tabHeight;  // Default value: 44.0f
- (UIColor *)tabColor; // Default value: [UIColor orangeColor]
- (UIColor *)tabBackgroundColor; // Default: [UIColor colorWithWhite:0.95f alpha:1.0f];
- (UIFont *)titleFont; // Default: [UIFont fontWithName:@"HelveticaNeue-Thin" size:20.0f];

Delegate

The delegate methods report events that happened in the tab pager view controller.

Optional Methods

- (void)tabPager:(GUITabPagerViewController *)tabPager willTransitionToTabAtIndex:(NSInteger)index;
- (void)tabPager:(GUITabPagerViewController *)tabPager didTransitionToTabAtIndex:(NSInteger)index;

Public Methods

There are two public methods:

- (void)reloadData;
- (NSInteger)selectedIndex;

reloadData will refresh the content of the tab pager view controller. Make sure to provide the data source before reloading the content.

selectedIndex will return the index of the current selected tab.