用代码进行autoLayout学习

本文详细介绍了iOS6中新增的NSLayoutConstraint类及其使用方法。通过具体实例解释了如何定义视图间的约束关系,并列举了与约束操作相关的API,包括添加、删除及更新约束等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念:

iOS6中新加入了一个类:NSLayoutConstraint,一个形如这样的约束

  • item1.attribute = multiplier ⨉ item2.attribute + constant

对应的代码为

[NSLayoutConstraint constraintWithItem:button
                             attribute:NSLayoutAttributeBottom
                             relatedBy:NSLayoutRelationEqual
                                toItem:superview
                             attribute:NSLayoutAttributeBottom
                            multiplier:1.0
                              constant:-10]

这对应的约束是“button的底部(y) = superview的底部 -10”。

函数解析:

1.添加约束函数:

- (void)addConstraint:(NSLayoutConstraint *)constraint; //用来将约束添加到view。

添加时需要遵循以下几条规则:

(1).对于两个同层级view之间的约束关系,添加到他们的父view上

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

(3).对于有层次关系的两个view之间的约束关系,添加到层次较高的父view上

2.添加多个约束的函数:

- (void)addConstraints:(NSArray *)constraints

3.移除一个约束的函数:

- (void)removeConstraint:(NSLayoutConstraint *)constraintNS_AVAILABLE_IOS(6_0); 

4.移除多个约束的函数:

- (void)removeConstraints:(NSArray *)constraints

5.在必要时更新约束函数

- (void)updateConstraintsIfNeeded NS_AVAILABLE_IOS(6_0)

6.更新约束函数

- (void)updateConstraints NS_AVAILABLE_IOS(6_0);

7.判断是否需要更新约束

- (BOOL)needsUpdateConstraints NS_AVAILABLE_IOS(6_0);

8.设置需要更新约束

- (void)setNeedsUpdateConstraints NS_AVAILABLE_IOS(6_0);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值