特性一、iOS的AutoLayout和Autoresizing

本文介绍了iOS中AutoLayout和Autoresizing的区别与使用。AutoLayout是iOS6后引入的自动布局系统,通过Constraint设定来实现灵活的布局。在使用AutoLayout前,需要禁用autoresizingMasks。文章详细讲解了AutoLayout的原理、两种实现方式(Storyboard和纯代码),并提供了Swift中AddConstraint和AddConstraints函数的实例。
摘要由CSDN通过智能技术生成

1、iOS中的布局分为哪几种?
AotuLayout(自动布局) 、 Aoturesizing (自动伸缩)
使用:
• autoresizing属性,主要适用于一个控件和自己父控件之间的关系
• autolayout才真正可以在任意两个控件中建立关系。

 1 、autoresizing
autoresizing是UIView的属性,一直存在,使用也比较简单,但是没有autolayout那样强大。如果你的界面比较简单,要求的细节没有那么高,那么你完全可以使用autoresizing去进行自动布局。




重点记忆:
autoresizing需要注意的是 storyboard中设置的约束和手码中设置的约束是相反的。 storyboard图形页面里点的右边的线和下边的线的意思是“固定”


而手码中常用的autoresizingMasks属性中的枚举都是Flexible可“伸缩”的。 所以假如想要让右边和下边的距离固定,在代码中应该设置左边和上边的可伸缩约束。
在storyboard中设置一般都是 :
只需要把使用代码和使用Storyboard设置autoresizing,
-------------------------------------------------------------------------------------------------------------------------
在今后的学习中重点是antoLayout布局

2、AotuLayout 是iOS6之后出现的 (注意理解 相对的概念)
Auto Layout中文翻译过来意思是自动布局,通过内定的Constraint(约束)和各项条件来计算出合理的布局.而这个合理的布局,符合我们的的预期和意图.
手写代码 默认要把 :autoresizingMasks
_view1.translatesAutoresizingMaskIntoConstraints =

NO;
用来禁止AutoresizingMask转换成AutoLayout,简单来说,Autoresizing和AutoLayout用的不是一套东西,但是默认情况下是相互转换的,这里我们要指定使用AutoLayout系统,所以要禁止自动转换

AutoLayout
1:理解概念
Auto Layout中文翻译过来意思是自动布局,通过内定的Constraint(约束)和各项条件来计算出合理的布局.而这个合理的布局,符合我们的的预期和意图.
将我们想象中的结果展现出来.Constraint的设定非常灵活,实现一种布局的方法可以通过多Constraint套来完成.
以下几点是我们在开始使用之前必须弄清楚的事情:
1:我们要抛弃以往旧的布局方式不再去关注View的Frame,Center,和autoresizing. 因为这些坐标和大小的定位都可以通过来Auto Layout完成.
2:理解每一种Constraint的含义,否则,当你去看别人的实现的Constraint时,就会有种看天书的感觉.
3:按意图设计,一切按我们理想中的效果去布局,只要约束设定的合理,就一定能够完成目标布局.

二、autoLayout的两种实现方式
1、通过storyboard 去实现 ,

2、纯代码的实现

三 、在项目中使用纯代码去实现 autoLayout
1、OC中的方法

1.- (void)addConstraint:(NSLayoutConstraint *)constraint NS_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值