VFL语言的使用

 1 //
 2 //  ViewController.m
 3 //  D01-VFL语言使用(了解)
 4 //
 5 //  Created by apple on 15/8/8.
 6 //  Copyright (c) 2015年 apple. All rights reserved.
 7 //
 8
 9
10 /**
11  1.添加一个blueView和redView在控制器的View中
12  2.约束blueView的左边,右边,上边,距离控制器View的距离都为20;
13  3.约束blueView的高度为固定50;
14  4.约束redView和blueView右对齐;
15  5.约束redView的顶部距离blueView的底部为20的间距;
16  6.约束redView的宽度为blueView宽度的一半;
17  */
18 #import "ViewController.h"
19
20 @interface ViewController ()
21
22 @end
23
24 @implementation ViewController
25
26 - (void)viewDidLoad {
27     [super viewDidLoad];
28
29     UIView *blueView = [[UIView alloc] init];
30     blueView.backgroundColor = [UIColor blueColor];
31     [self.view addSubview:blueView];
32
33
34     UIView *redView = [[UIView alloc] init];
35     redView.backgroundColor = [UIColor redColor];
36     [self.view addSubview:redView];
37
38     // 禁用Autoresizing功能
39     blueView.translatesAutoresizingMaskIntoConstraints = NO;
40     redView.translatesAutoresizingMaskIntoConstraints = NO;
41     /**
42
43      NSLayoutFormatAlignAllLeft = (1 << NSLayoutAttributeLeft),
44      NSLayoutFormatAlignAllRight = (1 << NSLayoutAttributeRight),
45      NSLayoutFormatAlignAllTop = (1 << NSLayoutAttributeTop),
46      NSLayoutFormatAlignAllBottom = (1 << NSLayoutAttributeBottom),
47      NSLayoutFormatAlignAllLeading = (1 << NSLayoutAttributeLeading),
48      NSLayoutFormatAlignAllTrailing = (1 << NSLayoutAttributeTrailing),
49      NSLayoutFormatAlignAllCenterX = (1 << NSLayoutAttributeCenterX),
50      NSLayoutFormatAlignAllCenterY = (1 << NSLayoutAttributeCenterY),
51      NSLayoutFormatAlignAllBaseline = (1 << NSLayoutAttributeBaseline),
52      NSLayoutFormatAlignAllLastBaseline = NSLayoutFormatAlignAllBaseline,
53      NSLayoutFormatAlignAllFirstBaseline NS_ENUM_AVAILABLE_IOS(8_0) = (1 << NSLayoutAttributeFirstBaseline),
54
55      NSLayoutFormatAlignmentMask = 0xFFFF,
56      */
57
58     // 添加水平方向blueView的约束
59     NSArray *HBlueViewConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[blueView]-20-|" options:NSLayoutFormatAlignAllBottom metrics:nil views:@{@"blueView" : blueView}];
60     [self.view addConstraints:HBlueViewConstraint];
61
62     // 添加垂直方向的约束
63     NSArray *VConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[blueView(50)]-20-[redView(==blueView)]" options:NSLayoutFormatAlignAllRight metrics:nil views:@{@"blueView" : blueView, @"redView" : redView}];
64     [self.view addConstraints:VConstraint];
65
66 #warning mark - VFL不支持运算符
67     // 添加redView水平方法的约束
68     //    NSArray *HRedViewConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[redView(==blueView)]" options:NSLayoutFormatAlignAllRight metrics:nil views:@{@"blueView" : blueView, @"redView" : redView}];
69     //    [self.view addConstraints:HRedViewConstraint];
70
71     // 添加redView宽度等于blueView的宽度的一半
72     NSLayoutConstraint *redViewWidth = [NSLayoutConstraint constraintWithItem:redView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:blueView attribute:NSLayoutAttributeWidth multiplier:0.5 constant:0];
73     [self.view addConstraint:redViewWidth];
74 }
75
76 @end
时间: 2024-10-29 19:12:25

VFL语言的使用的相关文章

iOS学习之VFL语言简介

http://www.cnblogs.com/chars/p/5146607.html 什么是VFL语言 VFL(Visual Format Language),"可视化格式语言". VFL是苹果公司为了简化autolayout的编码而推出的抽象语言. 语法说明 H:[cancelButton(72)]-12-[acceptButton(50)] cancelButton宽72,acceptButton宽50,它们之间间距12 H:[wideView(>[email protec

iOS:VFL语言

VFL语言 介绍: 什么是VFL语言? VFL全称是Visual Format Language,翻译过来是“可视化格式语言” VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言 VFL示例: H:[cancelButton(72)]-12-[acceptButton(50)] cancelButton宽72,acceptButton宽50,它们之间间距12 H:[wideView(>[email protected])] wideView宽度大于等于60point,该约束条件优

Autolayout屏幕适配——代码实现(苹果公司 / VFL语言 / 第三方框架Masonry)

在讲解如何通过代码来实现屏幕适配前,先来了解一下,屏幕适配中用到的约束添加的规则. 在创建约束之后,需要将其添加到作用的view上 在添加时要注意目标view需要遵循以下规则: 1. 约束规则    1> 添加约束的规则(一) 对于两个同层级view之间的约束关系,添加到它们的父view上 2> 添加约束的规则(二) 对于两个不同层级view之间的约束关系,添加到他们最近的共同父view上 3> 添加约束的规则(三) 对于有层次关系的两个view之间的约束关系,添加到层次较高的父view

iOS UI布局-VFL语言

什么是VFL语言 VFL(Visual Format Language),“可视化格式语言”. VFL是苹果公司为了简化autolayout的编码而推出的抽象语言. 语法说明 H:[cancelButton(72)]-12-[acceptButton(50)] cancelButton宽72,acceptButton宽50,它们之间间距12 H:[wideView(>=60@700)] wideView宽度大于等于60point,该约束条件优先级为700(优先级最大值为1000,优先级越高的约束

VFL语言

什么是VFL语言 VFL全称是Visual Format Language,翻译过来是“可视化格式语言”VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言 VFL示例 H:[cancelButton(72)]-12-[acceptButton(50)]canelButton宽72,acceptButton宽50,它们之间间距12 H:[wideView(>[email protected])]wideView宽度大于等于60point,该约束条件优先级为700(优先级最大值为10

iOS,自动布局autoresizing和auto layout,VFL语言

1.使用autoresizing 2.使用autolayout 3.VFL语言(Visual Format Language:可视化格式语言) 使用autoresizing 点击xib文件,去掉使用autolayout(autolayout和只能使用一个)    如图中所示 1.代表视图距离父容器顶部距离固定 2.代表视图距离父容器左边距离固定 3.代表视图距离父容器底部距离固定 4.代表视图距离父容器右边距离固定 5.中间水平线表示视图随着父容器变宽而变宽(按比例) 6.中间垂直线表示视图随着

IOS开发-VFL语言

Visual Format Language,翻译过来时可视化格式语言,是苹果公司用来简化Autolayout代码量的语言. 实例: (1)H:[(redView(72))]-12-[blueView(50)] 首字母表示水平方向,意思是有一个redview宽度72,距离这个redview右边12个点的距离有一个宽度为50的blueview. (2)H:[redView(>[email protected])] redview的宽度大于等于60,优先级最大宽度是700(优先级最大值为1000,所

(八十八)VFL语言初步 - 实现布局

[基本语法] VFL的语法为H:和V:开头,代表水平和垂直. 接下来如果要涉及距离,使用|-x-,x为距离的点数. 对于视图,用[ ]包围,例如[blueView]. ①下面的语句实现了blueView水平方向左右各距离控制器的边缘20点: H:|-20-[blueView]-20| ②如果要指定宽高,在视图名称之后用圆括号内填入常量数值,下面的代码实现了blueView距离左边20点,宽度固定为120点: H:|-20-[blueView(20)] ③如果要指定相等关系,例如redView的宽

Auto Layout (一)基于VFL的简单布局

最近正在研究Auto Layout 记录下心得和大家分享下!效果图如下  很简单的效果!只适合新手级别的看              1.初始化三个需要的控件  需要注意的是 translatesAutoresizingMaskIntoConstraints 这个属性.用来禁止AutoresizingMask转换成AutoLayout,简单来说,Autoresizing和AutoLayout用的不是一套东西,但是默认情况下是相互转换的,这里我们要指定使用AutoLayout系统,所以要禁止自动转