NSLayoutConstraint - 系统自动布局(详解)

本文详细介绍了如何使用NSLayoutConstraint实现自动布局,通过示例代码展示如何为三个View设置约束,确保在不同屏幕方向下保持正确布局。文章讨论了两种自动布局方法,并指出第二种方法因其简洁性而更受欢迎。
摘要由CSDN通过智能技术生成


      如果一个界面创建三个View,要求第一行两个View等高等宽,第三个View与上面两个View等高,无论是横屏还是竖屏。那该如何编写使得View自动布局呢?那就要使用NSLayoutConstraint - 系统自动布局了,核心代码如下:

- (void)createThreeViews{

//1 创建3个view的对象

UIView *leftView = [[UIView alloc]init];

UIView *rightView = [[UIView alloc]init];

UIView *bottomView = [[UIView alloc]init];

//2 设置背景颜色

leftView.backgroundColor = [UIColor greenColor];

rightView.backgroundColor = [UIColor purpleColor];

bottomView.backgroundColor = [UIColor orangeColor];

//3 添加视图上显示

[self.view addSubview:leftView];

[self.view addSubview:rightView];

[self.view addSubview:bottomView];

//4 关闭系统的自定义布局

leftView.translatesAutoresizingMaskIntoConstraints = NO;

rightView.translatesAutoresizingMaskIntoConstraints = NO;

bottomView.translatesAutoresizingMaskIntoConstraints = NO;

//-----------------自动布局方法1 ----------------

/**

[NSLayoutConstraint constraintWithItem:(id)item

attribute:(NSLayoutAttribute)attribute

relatedBy:(NSLayoutRelation)relation

toItem:(id)otherItem

attribute:(NSLayoutAttribute)otherAttribute

multiplier:(CGFloat)multiplier

constant:(CGFloat)constant]

1.参数说明:

第一个参数:指定约束左边的视图view1

第二个参数:指定view1的属性attr1

第三个参数:指定左右两边的视图的关系relation

第四个参数:指定约束右边的视图view2

第五个参数:指定view2的属性attr2

第六个参数:指定一个与view2属性相乘的乘数multiplier

第七个参数:指定一个与view2属性相加的浮点数constant

依据的公式是:view1.attr1 = view2.attr2*multiplier +constant

2.NSLayoutAttribute的类型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值