这一节,我们为绿色view添加label和image view。
添加UILabel
为label添加约束,让其于绿色view下边界的间距为20:
再通过Align菜单设置水平居中:
完成后,label的约束如下图所示:
添加UIImageView
添加UIImageView到绿色view中,使用pin菜单,设置UIImageView和绿色view的之间的间距约束:
设置好后,效果如下:
这里需要选择‘Items of New Constraints‘否则image view会使用当前的位置和大小来设置约束,你将会看到如下图所示的结果:
但是,如果我们设置了’Items of New Constraints’,Interface Builder会调整UIImageView的frame。如果你确实忘记选择‘Items of New Constraints’,可以使用Resolve Auto Layout Issues选项来修正它。
将头像png添加到工程中,将Ray.png作为UIImageView的image,并将模式设置为Aspect Fit,设置背景色为白色,最后修改label文本为"Ray":
当我们完成设置图片的操作后,奇怪的事发生了,绿色view中约束编程了橙色。从View Controller Scene可以看到问题如下:
我们遇到的错误是'Content Priority Ambiguity',导致这个错误的原因是image view和label都没有固定的高度,当绿色view大小发生变化时,自动布局不知道如何对它们进行缩放。所以,我们需要修改label的'Content Compression Resistance Priority'。
选中UILabel,在Size inspector中进行如下设置:
这样,约束问题就解决了。
转载请注明出处:http://blog.csdn.net/yamingwu/article/details/44207075