iOS---实现简书和知乎的上滑隐藏导航栏下拉显示导航栏效果
2016-01-10 17:30
776 查看
因为自己用简书和知乎比较多,所以对其导航栏的效果比较好奇,自己私下里找资料实现了一下。这个效果的关键点在于下方可供滑动的内容的便宜距离inset的改变,以及滑动的scrollview代理的执行,废话不多说,上代码
上述代码的作用是在执行的时候自动改变tableview的便宜距离的相关设置,下一步在滑动的时候隐藏导航栏
由此便实现了简书和知乎的导航栏显示和隐藏的效果,各位可以自行添加动画。
首先是tableview的便宜距离inset的设置 if([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)]) { self.automaticallyAdjustsScrollViewInsets = NO; UIEdgeInsets insets = self.tableView.contentInset; insets.top =self.navigationController.navigationBar.bounds.size.height; self.tableView.contentInset =insets; self.tableView.scrollIndicatorInsets = insets; } self.tableView.frame =CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height);
上述代码的作用是在执行的时候自动改变tableview的便宜距离的相关设置,下一步在滑动的时候隐藏导航栏
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset { if(velocity.y>0) { self.navigationController.navigationBar.hidden = YES; } else { self.navigationController.navigationBar.hidden = NO; } }
由此便实现了简书和知乎的导航栏显示和隐藏的效果,各位可以自行添加动画。
相关文章推荐
- iOS 开发百问(6)
- iOS开发实践之多线程(单例模式)
- iOS中16进制转10进制
- iOS在SDK中打开其他接入应用的解决方案
- iOS区分BundleVersion和BundleShortVersionString
- iOS中基本控件
- iOS学习之Socket使用简明教程- AsyncSocket
- iOS界面之间的跳转方式
- 芒果iOiOS开发之CLAuthorizationStatus枚举
- iOS中使用GCD的dispatch_once创建单例
- iOS为何在设备上运行时无法保存数据到应用bundle中
- iOS如何防止文件被备份到iCloud 和iTunes?
- iOS声明变量在@interface括号中与使用@property的区别
- iOS文件操作
- IOS实现手动截图并保存
- iOS自定义segment实现视图切换
- 【iOS开发】ios9开发中遇到的问题
- 【iOS开发】iOS知识点总结
- IOS 快捷键
- IOS定制属于自己的个性头像