玩转autolayout

2023-05-20,,

autoLayout是苹果极力推荐的一种布局方式,因为其可视化的操作和极佳的开发效率而备受推崇。autolayout的功能非常强大,下面就简单说几点

到现在为止,所有的约束都可以用autolayout完成

1.控件等距离均匀分布布局

- (void)updateViewConstraints

{

    [self autoArrangeBoxWithConstraints:@[self.button1X,

                                          self.button2X,

                                          self.button3X,

                                          self.button4X]

                                  width:self.buttonWidth.constant];

    [super updateViewConstraints];

}

- (void)autoArrangeBoxWithConstraints:(NSArray *)constraintArray width:(CGFloat)width

{

    CGFloat step = (self.view.frame.size.width - (width * constraintArray.count)) / (constraintArray.count + 1);

    for (int i = 0; i < constraintArray.count; i++) {

        NSLayoutConstraint *constraint = constraintArray[i];

        constraint.constant = step * (i + 1) + width * i;

    }

}

2.自动布局基本功能介绍:

对齐设置:

阅读起始对齐,结尾对齐,控件相对中心对齐,相对父视图中心对齐

边距位置设置,长度,宽度设置

控件之间等宽,等高设置

更新frame 和更新constraint ,上端选择项是针对选中控件,下端选择项是针对所有控件

3. 快捷小技巧

按住ctrl键拖到另外一个控件上可以建立constraint,

按住alt键显示边距和宽高

加辅助线  editor ->add horizental guide  拖到外面会删除

效果预览

点击方格,最下端有个preview选项,打开各种尺寸

  

4.- (CGSize)intrinsicContentSize 此方法会根据内容的尺寸自动调节视图比例 ,自动执行,无需介入

5. 小原则:

设置constraint与尽量少的控件建立联系,方便调节

《玩转autolayout.doc》

下载本文的Word格式文档,以方便收藏与打印。