码迷,mamicode.com
首页 > 移动开发 > 详细

iOS纯代码自动布局的那些事(简介)

时间:2015-08-10 17:49:07      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

由于本人也是才开始学习自动布局,所以可能会出现错误,请大家多多包含,并指出错误

关于自动布局,现在很多介绍用xib和storyboard,但是纯代码使用Autolayout越来越少了

下面主要大概的介绍下这几天学习纯代码使用Autolayout的一些可能有用的东西吧。

首先先创建3个UIView

技术分享

并对view进行初始化

 

技术分享

在使用自动布局之前要对子视图的布局方式进行调整,用到

translatesAutoresizingMaskIntoConstraints这个UIView的属性,并且把它设置为no

技术分享

OK!前期的准备工作已经做完,下面开始就要进入正题

首先我们要达到这样的效果

技术分享

有3种方式

1.使用VFL语言添加约束

2.一个一个的添加约束

3.一组一组的添加约束

一.使用VFL语言添加约束

技术分享

添加完这些约束运行程序,就达到开始的效果

注释:

|: 表示父视图

  -:表示距离

  V:  :表示垂直

  H:  :表示水平

>= :表示视图间距、宽度和高度必须大于或等于某个值

    <= :表示视图间距、宽度和高度必须小宇或等于某个值

    == :表示视图间距、宽度或者高度必须等于某个值

@  :>=、<=、==  限制   最大为  1000

 

1.|-[view]-|:  视图处在父视图的左右边缘内

2.|-[view]  :   视图处在父视图的左边缘

3.|[view]   :   视图和父视图左边对齐

4.-[view]-  :  设置视图的宽度高度

5.|-30.0-[view]-30.0-|:  表示离父视图 左右间距  30

6.[view(200.0)] : 表示视图宽度为 200.0

7.|-[view(view1)]-[view1]-| :表示视图宽度一样,并且在父视图左右边缘内

8. V:|-[view(50.0)] : 视图高度为  50

9: V:|-(==padding)-[imageView]->=0-[button]-(==padding)-| : 表示离父视图的距离

为Padding,这两个视图间距必须大于或等于0并且距离底部父视图为 padding。

10:  [wideView(>=60@700)]  :视图的宽度为至少为60 不能超过  700

11: 如果没有声明方向默认为  水平  V:

 

2.一个一个的添加约束

主要使用这个方法

- (void)addConstraint:(NSLayoutConstraint *)constraint;

技术分享

 

这样也能达到使用VFL语言的效果

 

3.一组一组的添加约束

主要使用这个方法

- (void)addConstraints:(NSArray *)constraints;

技术分享

技术分享

以上3种方法都能达到上面的效果,但是大家不难发现,2,3种方法的代码量远远大于第一种,在实际使用中我想大家使用第一种方法。

 

自适应布局--简介就介绍到这个地方,以后还会有更加详细的讲解。

 

iOS纯代码自动布局的那些事(简介)

标签:

原文地址:http://www.cnblogs.com/banzhuangong/p/4718442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!