iOS 实现ScrollView 上滑隐藏Navigationbar 下滑显示
omor7359
9年前
我司产品汪突然喜欢上了 知乎 和 简书 的的那种上滑加载更多时隐藏 NavigationBar ,下拉时显示的那种效果。那些阅读类APP需要 沉浸式体验 隐藏导航栏无可厚非,我就纳闷一个P2P类软件你隐藏个毛线!废话少说,技术很好实现几行代码的事。
在包含 TableView 或者 ScrollView 的.m文件中加入以下代码:
在页面即将消失时显示NavigationBar,让下一个页面显示时 NavigationBar 显示状态:
//滑动隐藏导航栏 LiXingLe -(void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; self.navigationController.navigationBarHidden = NO; }
实现 ScrollView 的代理:
#pragma mark 滑动隐藏导航栏 //滑动隐藏导航栏 LiXingLe -(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{ if(velocity.y>0) { [self.navigationController setNavigationBarHidden:YES animated:YES]; } else { [self.navigationController setNavigationBarHidden:NO animated:YES]; } }
现在运行一下如果上滑的时候顶部没有变黑就OK了,如果NavigationBar 隐藏后顶部变黑,加上下面的代码, 在 viewDidLoad 中添加:
//滑动隐藏导航栏 LiXingLe if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone;
微信公众账号: lecoding 同步更新,你也可以扫描下方二维码关注我们。