GTScrollNavigationBar 0.4

GTScrollNavigationBar 0.4

TestsTested
LangLanguage Obj-CObjective C
License BSD
ReleasedLast Release Dec 2015

Maintained by Luu Gia Thuy.



A lightweight scrollable UINavigationBar that follows a UIScrollView. This project was inspired by the navigation bar functionality seen in the Chrome, Facebook and Instagram iOS apps.

GTScrollNavigationBar Screenshot 1 GTScrollNavigationBar Screenshot 2

Installation

Manually

Add the GTScrollNavigationBar folder to your project. GTScrollNavigationBar uses ARC, so if you have a project that doesn't use ARC, add the -fobjc-arc compiler flag to the GTScrollNavigationBar files.

Usage

Set up the navigation controller to use GTScrollNavigationBar:

#import "GTScrollNavigationBar.h"

self.navController = [[UINavigationController alloc] initWithNavigationBarClass:[GTScrollNavigationBar class]
                                                                   toolbarClass:nil];
[self.navController setViewControllers:@[self.mainViewController] animated:NO];

In your view controller which has a UIScrollView, e.g. UITableViewController, set the UIScrollView object to the GTScrollNavigationBar in viewWillAppear: or viewDidAppear: by:

self.navigationController.scrollNavigationBar.scrollView = self.tableView;

To unfollow the scrollView, simply set scrollView property to nil

self.navigationController.scrollNavigationBar.scrollView = nil;

Implement scrollViewDidScrollToTop: in the view controller to reset the navigation bar's position

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
{
    [self.navigationController.scrollNavigationBar resetToDefaultPositionWithAnimation:NO];
}

Contact

@luugiathuy