码迷,mamicode.com
首页 > 其他好文 > 详细

VFL语法-基础

时间:2015-09-11 20:36:22      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

  1 #import "ViewController.h"
  2 
  3 @interface ViewController ()
  4 {
  5     UIView *_redView;
  6     UIView *_blueView;
  7     UIView *_cyanView;
  8 }
  9 @end
 10 
 11 @implementation ViewController
 12 
 13 - (void)viewDidLoad {
 14     [super viewDidLoad];
 15     //1.不再需要设置frame坐标
 16     _redView = [[UIView alloc] init];
 17     _redView.backgroundColor = [UIColor redColor];
 18     //2.可能会和 AutoresizingMask 冲突
 19     _redView.translatesAutoresizingMaskIntoConstraints = NO;
 20     [self.view addSubview:_redView];
 21     
 22     _blueView = [[UIView alloc] init];
 23     _blueView.backgroundColor = [UIColor blueColor];
 24     _blueView.translatesAutoresizingMaskIntoConstraints = NO;
 25     [self.view addSubview:_blueView];
 26     
 27     _cyanView = [[UIView alloc] init];
 28     _cyanView.backgroundColor = [UIColor cyanColor];
 29     _cyanView.translatesAutoresizingMaskIntoConstraints = NO;
 30     [self.view addSubview:_cyanView];
 31     
 32     //约束
 33 
 34     /*
 35     1.view1:给对象view1这个对象设置约束
 36     2.attribute: 指 view1.attribute 设置什么样的约束
 37     3.relatedBy: 关系 等于
 38     4.view2: 参照物
 39     5.attribute: view2.attribute
 40     6.multiplier:乘数因子
 41     7.constant:偏差值
 42      
 43     8.计算: view1.attr1 = view2.attr3*multiplier + constant
 44     */
 45     
 46     //创建距离父 view 的左间距约束
 47     NSLayoutConstraint *conLeft = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20];
 48     //创建右间距约束
 49     NSLayoutConstraint *conRight = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20];
 50     //创建top间距
 51     NSLayoutConstraint *conTop = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:20];
 52     //创建高度约束
 53     NSLayoutConstraint *conHeight = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeHeight multiplier:0.2 constant:0];
 54     
 55     //创建下间距
 56     //NSLayoutConstraint *conBottom = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-20];
 57     
 58     [self.view addConstraints:@[conLeft,conRight,conTop,conHeight]];
 59     
 60     
 61     
 62     
 63     //NSLog(@"%@",NSStringFromCGRect(_redView.frame));
 64     
 65     //创建距离父 view 的左间距约束
 66     NSLayoutConstraint *blueLeft = [NSLayoutConstraint constraintWithItem:_blueView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20];
 67     //创建右间距约束
 68     NSLayoutConstraint *blueRight = [NSLayoutConstraint constraintWithItem:_blueView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:0.5 constant:-10];
 69     //创建top间距
 70     NSLayoutConstraint *blueTop = [NSLayoutConstraint constraintWithItem:_blueView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:_redView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:20];
 71     //创建高度约束
 72     //NSLayoutConstraint *blueHeight = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeHeight multiplier:0.2 constant:0];
 73     
 74     //创建下间距
 75     NSLayoutConstraint *blueBottom = [NSLayoutConstraint constraintWithItem:_blueView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-20];
 76     
 77     [self.view addConstraints:@[blueLeft,blueRight,blueTop,blueBottom]];
 78     
 79     
 80     
 81     
 82     
 83     //创建距离父 view 的左间距约束
 84     //NSLayoutConstraint *cyanLeft = [NSLayoutConstraint constraintWithItem:_cyanView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:_blueView attribute:NSLayoutAttributeRight multiplier:1.0 constant:20];
 85     NSLayoutConstraint *cyanLeft = [NSLayoutConstraint constraintWithItem:_cyanView attribute:NSLayoutAttributeLeftMargin relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:0.5 constant:10];
 86     //创建右间距约束
 87     NSLayoutConstraint *cyanRight = [NSLayoutConstraint constraintWithItem:_cyanView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20];
 88     //创建top间距
 89     NSLayoutConstraint *cyanTop = [NSLayoutConstraint constraintWithItem:_cyanView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:_redView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:20];
 90     //创建高度约束
 91     //NSLayoutConstraint *blueHeight = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeHeight multiplier:0.2 constant:0];
 92     
 93     //创建下间距
 94     NSLayoutConstraint *cyanBottom = [NSLayoutConstraint constraintWithItem:_cyanView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-20];
 95     
 96     [self.view addConstraints:@[cyanLeft,cyanRight,cyanTop,cyanBottom]];
 97 
 98 }
 99 
100 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
101 {
102     NSLog(@"%@",NSStringFromCGRect(_redView.frame));
103 }
104 
105 - (void)didReceiveMemoryWarning {
106     [super didReceiveMemoryWarning];
107     
108 }
109 
110 @end

 

VFL语法-基础

标签:

原文地址:http://www.cnblogs.com/liaods/p/4801935.html

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