使用方法:
- star:隐藏导航栏下的横线,将背景色置空,一般在viewWillAppear中调用,;
- changeColor:WithScrollView:AndValue: :传入颜色、滑动视图、临界值来实现,一般在 scrollViewDidScroll中调用;
-
reset:显示导航栏下横线,还原导航栏,一般在 viewWillDisappear中调用。
//VC.m文件 /* 页面即将显示 */ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController.navigationBar start]; //该页面呈现时手动调用计算导航栏此时应当显示的颜色 [self scrollViewDidScroll:_tableview]; } /* 页面即将消失 */ - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController.navigationBar reset]; } /* 滑动过程中做处理 */ - (void)scrollViewDidScroll:(UIScrollView *)scrollView { [self.navigationController.navigationBar changeColor:[UIColor redColor] withOffsetY:scrollView.contentOffset.y]; }效果展示
完整demo
总结
- 由于系统自带的导航栏经常不能满足需求,因此在开发中导航栏经常需要自定义,哪怕只是修改背景色。
- 了解导航栏的结构处理起来会更容易。
-
自定义导航栏也要考虑和其他页面的导航栏之间的相互影响。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。










