UIScrollView添加AutoLayout的ambiguous content size警告解决方法

原创 2016年05月30日 11:05:42

如果你在使用auto Layout 时看到这个警告,那无疑是给UIscrollView的subView设置的限制。我起初以为是少添加了的限制,确认之后,该有的都有了!至少如果是uiview的话,设置是对的,原来uiscrollView真是个特殊的控件,它有contentSize这个属性!

什么意思呢?我们都知道在使用uiscrollView时,我们会手动设置contentSize,但在使用storyBoard或xib时,如果不手动设置,auto Layout是怎么自动设置contentSize呢?原来uiscrollView在使用auto Layout时,是会自动根据它的内容(subView)来自动确定contentSize的大小的,而subView又由自身的size和限制两部分决定的,知道这个就好办了。

我们知道,通过设置leading/trailing/top/bottom限制就可以确定控件的的大小和位置,而leading/trailing/top/bottom是相对于父控件(参照控件)的bounds(边界)的。但是uiscrollView的leading/trailing/top/bottom是相对contentSize的边界的,如果仅仅uiscrollView的subView的leading/trailing/top/bottom仅仅是确定了限制,空间的大小还是不知道的,导致contentSize无法确定。此时如果在设置subView的大小,则警告就消失了。

那问题又来了,如果我要在scrollView上显示图片,但图片是从网络上下载的,无法确定其大小,怎么办?还是有办法的,此时就不设置subView的大小了,取而代之的是通过临时的占位尺寸来告诉 storyboard,不会印象运行时的尺寸,具体操作是设置size inspector的intrinsic size属性为placeholder(图片的最下面):


版权声明:本文为博主原创文章,转载请注明出处。

Auto Layout 进阶

引言: Auto Layout是iOS6发布后引入的一个全新的布局特性,其目的是弥补以往autoresizing在布局方面的不足之处,以及未来面对更多尺寸适配时界面布局可以更好的适应. 要完全掌握Au...
  • ysy441088327
  • ysy441088327
  • 2013年10月10日 10:45
  • 81836

IOS Scroll View has ambiguous scrollable content height / width

在使用storyboard进行自动布局scrollview时,经常报错:Scroll View has ambiguous scrollable content height / width。原因是由...
  • Man_OC
  • Man_OC
  • 2015年02月13日 17:32
  • 3647

The spatial index grid size is invalid 问题解决

在编辑GDB中的要素时遇到这个错误 The spatial index grid size is invalid   找到这样一篇文章 http://support.esri.com/en...
  • ningfc1024
  • ningfc1024
  • 2015年06月17日 17:30
  • 1768

空间索引网格大小无效的解决方法The spatial index grid size is invalid

之前在做shp数据导入Geodatabase中时,程序运行出现错误提示:“The spatial index grid size is invalid”。 后来查阅esri帮助找到了原因。是Load...
  • zkcharge
  • zkcharge
  • 2013年12月12日 13:30
  • 1639

arcengine开发空间格网大小无效解决办法

数据导入Geodatabase中时,程序运行出现错误提示:“The spatial index grid size is invalid”。 代码中加上 IFeatureClassLoad设置,将其...
  • shendygis
  • shendygis
  • 2017年09月06日 17:56
  • 159

UIScrollView添加AutoLayout的ambiguous content size警告解决方法

如果你在使用auto Layout 时看到这个警告,那无疑是给UIscrollView的subView设置的限制。我起初以为是少添加了的限制,确认之后,该有的都有了!至少如果是uiview的话,设置是...
  • gx_wqm
  • gx_wqm
  • 2016年05月30日 11:05
  • 618

记一次XIB使用UIScrollView的坑

这是一次由于使用了IQKeyBoardManager引起的NavigationBar向上移动而使用UIScrollView并且引起了contentSize设置不上的问题.1:关于UIScrollVie...
  • lausen34
  • lausen34
  • 2016年12月06日 11:22
  • 455

【IOS学习之常见问题】UIScrollView 不能滑动(ScrollView has ambiguous scrollable content height)

█ 问题重现: ● UIScrollView 无下拉效果:    ● 界面布局:        ● constraint(约束)参数:        ●...
  • ljb568838953
  • ljb568838953
  • 2017年09月27日 12:40
  • 280

UIScrollView与UITextview

UIScrollView默认已经实现了处理方法和缩小收拾。 其支持如下三个控制显示区域的属性 contentSize;该属性是一个CGSize类型的数值,CGSize并不是一个类,是一个结构体,包含w...
  • shb2058
  • shb2058
  • 2016年05月13日 15:28
  • 187

StoryBoard中UIScrollView的滚动问题(contentsize)

问题:发现scrollview的contentsize为(0,0)。 而且在viewdidload中设置好像无效。 解决: - (void)viewDidLayoutSubviews { ...
  • jackshiny
  • jackshiny
  • 2016年04月14日 00:11
  • 276
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIScrollView添加AutoLayout的ambiguous content size警告解决方法
举报原因:
原因补充:

(最多只允许输入30个字)