Storyboard
对于多屏幕适配来说再合适不过了!但是有一些技巧可能很容易被忽略,今天要介绍的使用比例来控制布局可能就是其中之一。
在实际项目开发过程中,有些布局是按照比例来确定大小的,这个时候用下面的方法可以减少你的代码量,完全可以在Storyboard
中完成!
下面介绍subview相对于superview的比例。完成从一个控制器里面添加一个Button,并使Button.width = Button.superview.width/4
;
Step 1 添加一个UIButton
,并使用布局使它居于view
中心
- 在
Storyboard
中添加一个UIViewController
,然后往里面添加一个UIButton
- 选中
Button
,在右下角的快捷操作中如图所示进行设置,点击Add 2 Constraints
。 - 此时,你可能还需要再次选中这个
Button
,再使用快捷键Command
+option
+=
修复frame,这时Button
的frame和layout的约束才会对应起来。如果不修复frame也不会影响实际运行的效果,但是Xcode会提示警告!
Step 2
- 在View的树形图中,先选中
View
再选中Button
。 - 如图所示添加约束,勾选
Equal Widths
,点击Add 2 Constraints
。
Step 3
- 选中
Button
如图所示编辑约束的参数,Multiplier
设置为1:4
Done
Command
+option
+=
修复frame
补充
- 相同层级和不同层级的view之间都可以用这种比例方式确定大小,但是必须有
条件
先确定其中一个view的大小。这里说的条件
,指的是约束
,或者UIViewController.view
这种由父级容器确定了大小的条件。 - 一般情况下,宽度和高度需要分别设置比例,看需求而定。
- 宽度和高度之间也可以设置比例,设置方法和上面基本相同,不同的是,只需要选择一个view,添加约束的时候只勾选
Aspect Ratio
,设置比例的方法同上。