autoLayout自动布局约束技巧

作者: TobyoTenma | 来源:发表于2016-05-30 00:10 被阅读444次

          这几天看一个项目,看到这个项目里用到 autoLayout 时,里面的约束都是相对独立的,一个界面里的相关控件的约束大都是相对 View 的边界来约束的,或者是每一个控件都是以一个固定的数值距离与其它控件来约束.

           这样一来,以后修改这些控件的位置的时候就会变得很麻烦——-动了一个控件的位置后,其它控件的相对位置也就发生了变量,整体布局就变形了.

        今天我给大家介绍一种我自己平时用到约束方式:

              就是运用AutoLayout 中 Alignmint来约束,所有相关的控件的位置都以相对位置来约束,只将这一组相关控件中的一个与 view 的边界相关连.

              这样做的好处就是在以后的修改中,这一组相关控件的位置,只用修改其中那个与 view 关连的控件的数值就可以修改事组控件的位置.

    接下来看一下实际效果:

    现在有这样一组控件要约束:

           下面我们看下,以我看到的项目的那种约束方式中,每一个控件都是以一定的数值来对控件进行完全约束:

           首先这样来约束的话,很麻烦,对这些控件中间的距离,每一个约束都要各种输入数字;然后就是上面说到的,修改起来很是麻烦.

           下面我们再看下以相对坐标来约束的效果:

           大家可以看到,以这样的方式来约束这些控件,我们只用到了很少量(图中5 个)的数值来线束这些控件,其它的线束都是用 Alignment 来添加的;

           并且在以后的修改的时候,这一组控件的相对位置是以 Alignment 来约束的,修改那个以数值约束的地方后,这一组控件的相对位置还是保持不变的.

           巧妙的运用 Alignment 来对控件进行约束,不仅能在搭建 stroyboard 的时候有效提高效率,还能在日后的维护中节约大量的宝贵的时间.

    相关文章

      网友评论

      • herb129:看起来很简单,其实思想想的也不少呢,可以试试,就是上左右,然后竖,然后水平,然后间距吗
        TobyoTenma:@herb129 以左上角控件为基准以数值约束第一排和第一列,其它位置直接框选一排或者一列用Alignment来做
      • c9ffb7e109a8:没怎么看懂,除了第一行 下面3行都是相对第一行进行Alignment打约束么 那个Y值是不是直接设置的具体的值
        TobyoTenma:@坚持先生 嗯,masory确实很好用呢!有些时候这种相对布局约束,可以减少很多布局修改操作
        c9ffb7e109a8:@TobyoTenma 我一般用mansory 这种重复的布局 很少遇到
        TobyoTenma:@坚持先生 对的,像这种均匀布局的,下面三行的label直接框选三个,给一个上间距,这样Y值都设置好了,其他地方,label剧中,textfiled左右对齐,每行水平对齐,这样一套连招下来,所有控件的位置都基于第一行和第一列所定的间距和边距

      本文标题: autoLayout自动布局约束技巧

      本文链接:https://www.haomeiwen.com/subject/bguqdttx.html