您的位置:首页 > 其它

导航栏下的空白位置偏移

2016-03-09 22:14 218 查看
使用导航Push进来以TableView为主的视图(继承于scroll,包括Scroll),原本我们想隐藏了导航栏将这个scroll放在坐标为(0,0)的位置,但是发现效果如下:



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就会紧贴着状态栏顶部,覆盖掉状态栏了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: