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...

zstack学习笔记1--HEX file content at address 0x4A390 exceeds chip's 256 kB flash size错误解决方法

1. 如何使用IAR编译生成Flash_Programmer可以识别的hex文件? 答:options->LInker选项里面,按下图选择: output file 选择default...

AutoLayout——何为intrinsic content size

上一篇说到了约束就是等式和不等式,仅仅知道其原理还是没法拉出符合需求的线。所以这一篇主要看来什么是intrinsic content size,以及它有什么用。在Xcode中,几乎所有控件或视图,都有...

UIScrollView的Content Size, Content Inset属性

做iOS有好长时间了,今天再次写到UIScrollView的时候再次遇到了ContentSize,ContentInset,Scroll Indicator等属性,想起刚刚入门的时候的困惑,决定把它写...

Android 图片OutOfMemory异常bitmap size exceeds VM budget的原因及解决方法

主要介绍Android图片oom问题的原因及解决方法,顺带提及Dalvik heap size。 1、现象 很多朋友应该都碰到过下面这个异常 Java ...

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

空间索引网格大小无效的解决方法The spatial index grid size is invalid 原名引至:http://www.cnblogs.com/linhugh/archive...
  • hsg77
  • hsg77
  • 2012-10-22 13:09
  • 4696

ValueError: 'The specified size contains a dimension with value <= 0'的解决方法

ValueError: ‘The specified size contains a dimension with value <= 0’的解决方法在keras下搭建神经网络,运行demo报错。

Android 图片OutOfMemory异常bitmap size exceeds VM budget的原因及解决方法

主要介绍Android图片oom问题的原因及解决方法,顺带提及Dalvik heap size。 1、现象 很多朋友应该都碰到过下面这个异常 Java ...

Android开发中出现in the gradle.properties file, sets the maximum Java heap size to 1024m的解决方法

Android开发中出现sets the maximum Java heap size to 1024m的解决方法 本人在工作项目中出现了上述问题,问题如下: 然后通过下面图中...

mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法

1. 问题背景         InnoDB是新版MySQL(v5.5及以后)默认的存储引擎,之前版本的默认引擎为MyISAM,因此,低于5.5版本的mysql配置文件.my.cnf中,关于InnoD...
  • slvher
  • slvher
  • 2013-07-27 19:58
  • 6109
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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