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

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

关于自动布局,现在很多介绍用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(>[email protected])]  :视图的宽度为至少为60 不能超过  700

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

2.一个一个的添加约束

主要使用这个方法

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

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

3.一组一组的添加约束

主要使用这个方法

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

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

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

时间: 2024-07-29 05:41:00

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

iOS 纯代码屏幕适配

首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的png iPhone6:命名:[email protected]   分辨率:750*1334 6+ 命名:[email protected]  分辨率:1242*2208 注意: 如果要在app的介绍页面里有“为iPhone6,6 plus优化”的字样就必须使用第一种方法

iOS纯代码手动适配

首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的png iPhone6:命名:[email protected]   分辨率:750*1334 6+ 命名:[email protected]  分辨率:1242*2208 注意: 如果要在app的介绍页面里有"为iPhone6,6 plus优化"的字样就必须使用

iOS纯代码工程手动快速适配

首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的pngiPhone6:命名: 分辨率:75013346+ 命名: 分辨率:12422208注意:如果要在app的介绍页面里有“为iPhone6,6 plus优化”的字样就必须使用第一种方法,使用第二种方法的话还是会显示“为iPhone5优化” 下面说一下纯代码适配首先iPh

Object-C iOS纯代码布局 一堆代码可以放这里!

前言: 最近写的文章都是创业类,好吧,今天好好写写技术类的文章! 不过分享的不是IOS相关的文章,毕竟这几天在速成IOS,看的是objective-c,由于速成的很快,好累! 好在现在基本已经入了点门道了,这才看的懂新人的代码,才能提前感受代码危机. 对于IOS的速成口诀,回头再分享,今天先分享一个简单的抽象封装! 1:先看看问题 说明:通常对于界面布局,有编写代码.Xib.Storyboard三种方式,而我看到新人写的,是通过代码布局的. 看到的代码是这样的: A:编写UI的代码已分离到新的类

纯代码自动布局

原理:IOS6.0 之后,苹果优化了UI界面的布局方式,提出了自动布局的概念,和之前的autoresizing相比功能更强大.子视图基于父视图的自动布局显示.都是父视图去添加对子视图的约束. 在这里主要说的是通过代码对自动布局视图的实现. 代码中一般用到的有两个添加约束的方式: 1.- (void)addConstraint:(NSLayoutConstraint *)constraint NS_AVAILABLE_IOS(6_0); 2.- (void)addConstraints:(NSAr

iOS 纯代码适配iPhone6,6+

链接地址:http://blog.csdn.net/codywangziham01/article/details/37658399 转自:http://www.maxiaoguo.com/clothes/255.html UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过alloc init 来初始化 创建webview,下列文本中 _webView

iOS 约束 代码自动布局 正方形控件

我们说,有时候界面要求可点击的控件是类似于collectionviewcell的样式出现,横排出现三个或者四个等宽等高的UIButton控件:或者,不可点击以横排展示的方式出现三个或者四个UIImageView控件:再或者,是几段文字,当然文字很少要求是正方形的. 但当项目需要制作出几个控件横排排列,大小相同,且呈现正方形时,就可以借鉴我的经历. 以前的做法是: 一.横向约束,竖向固定大小 三个UIButton,约束成:等宽等高.中部横向对齐.button1对上和左边界约束.button1进行高

iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer

欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton,可以让这个欢迎界面变成可点击的,可滑动的模块添加在页面中,然后再加一个NSTimer,让它自己隔2秒自己循环滑动着,立马让它变成可以放在主页用于展示主打商品的模块. 下面直接展示可直接运行的Demo,代码都挺简单,这次就不添加注解了. #import "ViewController.h"

ios纯代码下的起始页面配置方法

在delegate中: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {        // Override point for customization after application launch.        let SCREEN_WIDTH = UIScreen.mainScreen