码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-12-03 11:32:44      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

一、问题描述

       如果在带有导航控制器的控制器中加入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属性,如图:

技术分享

效果图:

技术分享

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

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

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!