iOS 自动布局 Auto Layout 入门 05 相册 (中)

来源:互联网 发布:黑莓passport转制软件 编辑:程序博客网 时间:2024/06/07 01:09

这一节,我们为绿色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

0 0
原创粉丝点击