Storyboard使用技巧:使用比例方式布局

Storyboard对于多屏幕适配来说再合适不过了!但是有一些技巧可能很容易被忽略,由于最近做比例方面适配,今天就着重介绍使用比例来控制布局。
在实际项目开发过程中,有些布局是按照比例来确定大小的,这个时候用下面的方法可以减少你的代码量,完全可以在Storyboard中完成!

下面介绍subview相对于superview的比例。完成从一个控制器里面添加一个Button,并使

Button.width = Button.superview.width/4;

Step 1

  • 添加一个UIButton,并使用布局使它居于view中心

  • 在Storyboard中添加一个UIViewController,然后往里面添加一个UIButton

  • 选中Button,在右下角的快捷操作中如图所示进行设置,点击Add 2 Constraints。

    Storyboard使用技巧:使用比例方式布局_第1张图片

  • 此时,你可能还需要再次选中这个Button,再使用快捷键Command+option+=修复frame,这时Button的frame和layout的约束才会对应起来。如果不修复frame也不会影响实际运行的效果,但是Xcode会提示警告!

Step 2

  • 在View的树形图中,先选中View再选中Button。

    Storyboard使用技巧:使用比例方式布局_第2张图片

  • 如图所示添加约束,勾选Equal Widths,点击Add 2 Constraints

    Storyboard使用技巧:使用比例方式布局_第3张图片

Step 3

  • 选中Button如图所示编辑约束的参数,Multiplier设置为1:4

Storyboard使用技巧:使用比例方式布局_第4张图片

Done

Command+option+=修复frame

Storyboard使用技巧:使用比例方式布局_第5张图片

补充

  • 相同层级和不同层级的view之间都可以用这种比例方式确定大小,但是必须有条件先确定其中一个view的大小。这里说的条件,指的是约束,或者UIViewController.view这种由父级容器确定了大小的条件。
    一般情况下,宽度和高度需要分别设置比例,看需求而定。
    宽度和高度之间也可以设置比例,设置方法和上面基本相同,不同的是,只需要选择一个view,添加约束的时候只勾选Aspect Ratio,设置比例的方法同上。

参考自:

  • segmentfault
  • 简书作者: Kandy

你可能感兴趣的:(Storyboard,布局,Storyboard,xib,autolayout,Xcode比例布局)