代码添加约束如何实现

本文介绍了如何使用代码添加约束,包括理解纯代码设置自动布局约束的重要性,掌握`addConstraint`方法和`constraintsWithVisualFormat(VFL)`的使用。通过案例分析了添加约束的步骤、约束位置的选择以及VFL的基本语法,帮助开发者熟练掌握自动布局的代码实现。
摘要由CSDN通过智能技术生成

代码添加约束

目标

  • 理解用纯代码设置自动布局约束的方法
  • 理解为什么在使用自动布局开发时,千万不要修改 frame?
  • 理解 VFL 语法

提示:自动布局方法的参数很多,第一次接触难免会有抵触情绪

但是参数的含义很容易懂!

为什么要学习纯代码的自动布局?

  • 自己开发第三方框架会使用

  • 其他第三方框架中会使用,遇到时能够看得懂

知识点

  • 理解用 NSLayoutConstraint 类创建具体的约束对象的步骤与参数
  • 理解用 VFL 添加自动布局的方法
  • 理解 VFL 语法

用代码实现 Autolayout的步骤

  1. 禁用 autoresizing
  2. 利用以下方法添加约束

/// 添加一个约束
- (void)addConstraint:(NSLayoutConstraint *)constraint;
/// 添加多个约束 VFL 专用
- (void)addConstraints:(NSArray *)constraints;

/// 创建一个约束
[NSLayoutConstraint constraintWithItem:...
/// 利用 VFL 创建多个约束
[NSLayoutConstraint constraintsWithVisualFormat:...

注意:约束添加的位置
  • 如果约束没有参照任何其他视图,则约束添加在自身(苹果建议),或者父视图上(常见)
  • 如果约束有参照父视图,则约束添加到父视图上

如果约束有参照兄弟视图,则约束添加到它们最近的父视图上

对于两个不同层级view之间的约束关系,添加到他们最近的共同父view上

案例 1 —— addConstraint

要求
  1. 定义一个视图 200 * 50
  2. 在任何设备上都摆放在屏幕的中心点
代码实现
  • 代码准备
- (void)viewDidLoad {
    [super viewDidLoad];

    [self autoLayout1];
}

/**
 * 案例 1
 *
 * 定义一个视图 200 * 50
 * 在任何设备上都摆放在屏幕的中心点
 */
- (void)autoLayout1 {

    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    v.backgroundColor = [UIColor redColor];
    [self.view addSubview:v];   
}
  • 添加水平约束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值