在了解上述两个属性的意思之前,我们必须了解下intrinsicContentSize的概念
intrinsicContentSize
Intrinsic Content Size
:固有大小。顾名思义,在AutoLayout中,它作为UIView的属性,意思就是说如果你没有为我指定大小,我就按照这个大小来。 像UILabel,UIImageView,UIButton等这些组件及某些包含它们的系统组件都有 Intrinsic Content Size 属性
比如:当我们在给UILabel使用AutoLayout的时候,不用指定尺寸大小的,只需指定位置即可,就是因为,只要确定了文字内容,字体等信息,它自己就能计算出大小来。
当页面中应用多个Intrinsic Content Size组件的时候就有可能出现“Intrinsic冲突”,
“Intrinsic冲突” :当两个或多个可以使用Intrinsic Content Size的组件,因为组件中添加的其他约束,而无法同时使用 intrinsic Content Size了。
举个例子:
像上图,当存在两个UILabel时候,只需要确定两个UILabel的位置,而他们的大小则由intrinsicContentSize来确定,但是当给文本2
UILabel加个距离右边栏10的时候,则出现错误。这种错误就叫“Intrinsic冲突”
.如下图:
</