Easy way to change your navigationBar color
你可以使用cocapods导入 you can use it in cocoapods
pod 'MXNavigationBarManager'
[MXNavigationBarManager managerWithController:self];
[MXNavigationBarManager setBarColor:[UIColor colorWithRed:0.5 green:0.5 blue:1 alpha:1]];
[MXNavigationBarManager setTintColor:[UIColor colorWithRed:0.15 green:0.15 blue:0.15 alpha:1]];
[MXNavigationBarManager setStatusBarStyle:UIStatusBarStyleDefault];
[MXNavigationBarManager setZeroAlphaOffset:-64];
[MXNavigationBarManager setFullAlphaOffset:200];
[MXNavigationBarManager setFullAlphaTintColor:[UIColor whiteColor]];
[MXNavigationBarManager setFullAlphaBarStyle:UIStatusBarStyleLightContent];
你需要在ScrollviewDidScroll里面实现下面的方法即可渐变导航栏颜色
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[MXNavigationBarManager changeAlphaWithCurrentOffset:scrollView.contentOffset.y];
}
你需要在viewWillAppear 里面和 viewWillDisappear里面设置和取消tableView的代理
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.tableView.delegate = self;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.tableView.delegate = nil;
//optional 退出时改变导航栏状态
[MXNavigationBarManager reStoreWithZeroStatus];
}