AutoLayout 使用细节

前言:

Auto Layout 是苹果在 Xcode 5 (iOS 6) 中新引入的布局方式,旨在解决 3.5 寸和 4 寸屏幕的适配问题。屏幕适配工作在 iPhone 6 及 plus 发布以后变得更加重要,而且以往的“笨办法”的工作量大幅增加,所以很多人开始学习使用 Auto Layout 技术。


# 一. 修改约束的父视图

比如:子视图距离父视图A 底部20,现在需要修改为:子视图距离父视图B 底部20,这时就需要修改子视图的 top 约束中的父视图,可以采用下面的方式。

// 1. 删除之前添加的约束
[NSLayoutConstraint deactivateConstraints:@[self.orderTopCon]];

// 2. 新建一个约束
NSLayoutConstraint *topCon = [NSLayoutConstraint constraintWithItem:self.orderBgView attribute:(NSLayoutAttributeTop) relatedBy:0 toItem:self.iconBgView attribute:(NSLayoutAttributeBottom) multiplier:1 constant:10];

// 3. 添加新的约束
[NSLayoutConstraint activateConstraints:@[topCon]];