这是一个轻量级的可滚动 UINavigationBar,它跟随 UIScrollView。该项目受到 Chrome、Facebook 和 Instagram iOS 应用程序中导航栏功能的启发。
将 GTScrollNavigationBar 文件夹添加到您的项目中。由于 GTScrollNavigationBar 使用 ARC,因此如果您有一个不使用 ARC 的项目,请添加 -fobjc-arc 编译器标志到 GTScrollNavigationBar 文件中。
设置导航控制器以使用 GTScrollNavigationBar
#import "GTScrollNavigationBar.h"
self.navController = [[UINavigationController alloc] initWithNavigationBarClass:[GTScrollNavigationBar class]
toolbarClass:nil];
[self.navController setViewControllers:@[self.mainViewController] animated:NO];在您的 UIScrollView 观控制器中,例如 UITableViewController,通过以下方式在 viewWillAppear: 或 viewDidAppear: 中将 UIScrollView 对象设置为 GTScrollNavigationBar
self.navigationController.scrollNavigationBar.scrollView = self.tableView;要取消关注 scrollView,只需将 scrollView 属性设置为 nil
self.navigationController.scrollNavigationBar.scrollView = nil;在视图控制器中实现 scrollViewDidScrollToTop: 以重置导航栏的位置
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
{
[self.navigationController.scrollNavigationBar resetToDefaultPositionWithAnimation:NO];
}