v2panda的技术专题Realank的iOS专题iOS大咖说

iOS 实现ScrollView 上滑隐藏Navigationb

2016-01-21  本文已影响12461人  乐Coding

转载请注明原文链接:http://www.jianshu.com/p/b43113256ce1

我司产品🐶突然喜欢上了知乎简书的的那种上滑加载更多时隐藏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{
    [self.navigationController setNavigationBarHidden:velocity.y>0 animated:YES];
}

现在运行一下如果上滑的时候顶部没有变黑就OK了,如果NavigationBar 隐藏后顶部变黑,加上下面的代码,
viewDidLoad中添加:

//滑动隐藏导航栏 LiXingLe

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])

      self.edgesForExtendedLayout = UIRectEdgeNone;

觉得不错,下方记得点个“喜欢”哟!


更多iOS、Swift、逆向等开发精彩文章可以关注我的微信公众号乐Coding
你也可以扫描下方二维码关注我们。

qrcode_for_gh_af22362bf4bb_258.jpg
上一篇下一篇

猜你喜欢

热点阅读