解决“带有导航控制器中加入UIScrollView后,UIScrollView向下偏移问题”

时间:2015-12-03 11:30:35   收藏:0   阅读:209

一、问题描述

       如果在带有导航控制器的控制器中加入UIScrollView,我们可以发现UIScrollView的高度自动增加了64(正好是一个导航栏加上状态栏高度),然后在UIScrollView在加子视图,会造成子视图显示向下偏移了64的高度,如下图:

技术分享技术分享

效果图:

技术分享

 

二、解决方法

方法一:在控制器viewDidLoad方法中加入  self.automaticallyAdjustsScrollViewInsets = NO;

  看这个UIViewController的这个属性你就明白了,此属性默认为YES,这样UIViewController下如果只有一个UIScollView或者其子类,那么会自动留出空白,让scollview滚动经过各种bar下面时能隐约看到内容。但是每个UIViewController只能有唯一一个UIScollView或者其子类,如果超过一个,需要将此属性设置为NO,自己去控制留白以及坐标问题。

或在IB中把automaticallyAdjustsScrollViewInsets勾选去掉,如图:

技术分享

 

方法二:在控制器viewDidLoad方法中加入 self.navigationController.navigationBar.translucent = NO;

或是在IB中,设置导航控制器的导航条的translucent属性,如图:

技术分享

效果图:

技术分享

其他解决方法就不补充,选择何种解决方案看需求~~~

原文:http://www.cnblogs.com/LyChen/p/5015324.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!