导航栏下的空白位置偏移
2016-03-09 22:14
218 查看
使用导航Push进来以TableView为主的视图(继承于scroll,包括Scroll),原本我们想隐藏了导航栏将这个scroll放在坐标为(0,0)的位置,但是发现效果如下:
![](http://img.blog.csdn.net/20160309214718420?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1、没有隐藏导航栏
从iOS7开始,导航条和状态栏合为一体,且成为半透明状,viewController.view的坐标(0,0)点在屏幕左上方,如果子视图位置在view的顶部,就会被导航条遮盖,所以viewController仅仅会对自身的第一个子视图(scrollView)顶部添加64个像素的contentInset边距,避免scrollView内容遮盖,默认YES。我们的scroll、table会自动向下偏离Top64px(下方位置如果是tabbar向上偏离Bottom49px,toolbar是44)
self.automaticallyAdjustsScrollViewInsets = YES;
//或者设置NO手动添加
UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
//table.contentInset = UIEdgeInsetsMake(64,0,0,0);
2、隐藏了导航栏
但这个scroll的轮播图却依然在状态栏以下,并没有将状态栏覆盖。因为状态栏存在,即使隐藏了导航栏,scroll依然会给我们预留部分空白,所有内容向下偏移20px像素位置,当你滑动scroll时,又会将状态栏覆盖掉。此时我们需要设置:
self.automaticallyAdjustsScrollViewInsets =
NO;
再运行那么scroll或者table就会紧贴着状态栏顶部,覆盖掉状态栏了。
1、没有隐藏导航栏
从iOS7开始,导航条和状态栏合为一体,且成为半透明状,viewController.view的坐标(0,0)点在屏幕左上方,如果子视图位置在view的顶部,就会被导航条遮盖,所以viewController仅仅会对自身的第一个子视图(scrollView)顶部添加64个像素的contentInset边距,避免scrollView内容遮盖,默认YES。我们的scroll、table会自动向下偏离Top64px(下方位置如果是tabbar向上偏离Bottom49px,toolbar是44)
self.automaticallyAdjustsScrollViewInsets = YES;
//或者设置NO手动添加
UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
//table.contentInset = UIEdgeInsetsMake(64,0,0,0);
2、隐藏了导航栏
但这个scroll的轮播图却依然在状态栏以下,并没有将状态栏覆盖。因为状态栏存在,即使隐藏了导航栏,scroll依然会给我们预留部分空白,所有内容向下偏移20px像素位置,当你滑动scroll时,又会将状态栏覆盖掉。此时我们需要设置:
self.automaticallyAdjustsScrollViewInsets =
NO;
再运行那么scroll或者table就会紧贴着状态栏顶部,覆盖掉状态栏了。
相关文章推荐
- uva757 - - Gone Fishing
- leetcode83.RemoveDuplicatesFromSortedList
- Serializable 和 Parcelable两种方式传递对象
- block语法
- 第一周4.2
- Activity的启动模式
- Echarts柱状图简单应用
- 外连接 内链接 子查询
- centos安装samba服务器
- Android Studio 常用快捷键
- Javase02project
- 就拿胖子说事
- Elasticsearch学习笔记
- 练习使用DBHelper(代替JDBC)
- 翻译一定要知道的一些软件和工具
- 数据结构与算法面试题80道(6)
- 兼容模式下页面样式错乱问题
- DEV--skinRibbonGalleryBarItem皮肤控件
- StartActivityForResult的用法
- 项目二-就拿胖子说事