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

[相关信息:Xcode7.2 ; Swift2.0]

先回顾一下效果图


看起来还不错的设计图

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

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

  1. 图标之间的间隔要相等
  1. 横竖屏切换的时候根据 X 轴的宽度来移动重排图标

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


第一个Xcode项目(2) - Auto Layout - 布局②_第1张图片
添加按钮,设置约束

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


第一个Xcode项目(2) - Auto Layout - 布局②_第2张图片
运行APP看看效果如何
哎哟,我去,怎么会这样!!!

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


第一个Xcode项目(2) - Auto Layout - 布局②_第3张图片
为5个按钮添加宽度相等的约束

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


第一个Xcode项目(2) - Auto Layout - 布局②_第4张图片
运行APP看看效果如何
哎,妈呀~弄个我想要的效果怎么这么难呢?

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


第一个Xcode项目(2) - Auto Layout - 布局②_第5张图片
为每个按钮添加宽度高度约束

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


第一个Xcode项目(2) - Auto Layout - 布局②_第6张图片
运行APP看看效果如何
我表示已经无力了。。。。



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

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


第一个Xcode项目(2) - Auto Layout - 布局②_第7张图片
删除上一次遗留的约束,拖入View并设置名称,最后将button拖入各个View

第一个Xcode项目(2) - Auto Layout - 布局②_第8张图片
设置完以后是这样的

然后为5个View设定约束


第一个Xcode项目(2) - Auto Layout - 布局②_第9张图片
为5个View添加约束

第一个Xcode项目(2) - Auto Layout - 布局②_第10张图片
为View分别添加间距约束

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

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


第一个Xcode项目(2) - Auto Layout - 布局②_第11张图片
运行效果

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

接下来我们继续调整


第一个Xcode项目(2) - Auto Layout - 布局②_第12张图片
设置每个Button和它的容器水平居中对齐,垂直顶部对齐

第一个Xcode项目(2) - Auto Layout - 布局②_第13张图片
设置5个View垂直顶部对齐

第一个Xcode项目(2) - Auto Layout - 布局②_第14张图片
为第一个View(Type1)添加距离父容器顶部为0的约束

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


第一个Xcode项目(2) - Auto Layout - 布局②_第15张图片
14.png

成功了有没有!!收工~

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