第一个Xcode项目(2) - Auto Layout - 布局②

先回顾一下效果图

看起来还不错的设计图

之前我们完成了Scroll View和内容View的嵌套,那接下来就是要在View里面放置各个零散的控件了。

首先需要考虑下怎么放置第一排的五个图标。

图标之间的间隔要相等

横竖屏切换的时候根据 X 轴的宽度来移动重排图标

首先我想到的是把它们的距离约束设置成一样,这样横屏的时候应该就会自动等距重排了,撒~ try,try 看:

添加按钮,设置约束

添加完了,让我们来运行下看看吧 (Command+R)

运行APP看看效果如何

哎哟,我去,怎么会这样!!!

既然出现的效果是最后一个通过增加宽度来适应约束,那我们就把5个按钮的宽度设置成一样看看

为5个按钮添加宽度相等的约束

然后我们来看看运行时的效果

运行APP看看效果如何

哎,妈呀~弄个我想要的效果怎么这么难呢?

我们不想让它宽度发生变化,那我们就把它的宽度定死,为每个按钮添加宽度高度约束

为每个按钮添加宽度高度约束

然后我们来看看运行时的效果

运行APP看看效果如何

我表示已经无力了。。。。

之后我尝试了各种方法,这种形势好像走不通,没办法,只好换一种办法了。(如果有人这条路能走通,真心求教!)

好,那我们来接着试另外一种方法,首先把原先5个按钮的约束都删除掉,按钮的大小约束不用删,然后...看图操作

删除上一次遗留的约束,拖入View并设置名称,最后将button拖入各个View

设置完以后是这样的

然后为5个View设定约束

为5个View添加约束

为View分别添加间距约束

注意:约束添加以后是为两个控件添加了一个约束,两个控件共有一个约束,所以要避免重复添加约束

好,接下来我们来看看运行的效果 (Command+R)

运行效果

看到这个效果就知道,我们已经成功一半了,剩下的就是稍作调整就完成了。

接下来我们继续调整

设置每个Button和它的容器水平居中对齐,垂直顶部对齐

设置5个View垂直顶部对齐

为第一个View(Type1)添加距离父容器顶部为0的约束

红色箭头的提示消失以后,我们再来运行下看看效果 (Command+R)

14.png

成功了有没有!!收工~

你可能感兴趣的:(第一个Xcode项目(2) - Auto Layout - 布局②)