先回顾一下效果图
看起来还不错的设计图
之前我们完成了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
成功了有没有!!收工~