//
// ViewController.m
// 代码布局约束
//
// Created by DC017 on 16/1/4.
// Copyright © 2016年 DC017. All rights reserved.
//
//苹果官方NSLayoutConstraint
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// [self test1];
// [self test2];
[self test3];
}
-(void)test1{
UIButton * button=[[UIButton alloc]init];
[button setTitle:@"按钮" forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
button.backgroundColor=[UIColor orangeColor];
[self.view addSubview:button];
//必须要做的 禁止自动转化AutoresizingMask
button.translatesAutoresizingMaskIntoConstraints=NO;
//创建布局约束
NSArray * constraints1=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-100-[button]-100-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(button)];
//NSDictionaryOfVariableBindings(button);
NSArray * constraints2=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[button(100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(button)];
[self.view addConstraints:constraints1];
[self.view addConstraints:constraints2];
}
-(void)test2{
UIButton * button2=[[UIButton alloc]init];
[button2 setTitle:@"按钮" forState:UIControlStateNormal];
[button2 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
button2.backgroundColor=[UIColor purpleColor];
[self.view addSubview:button2];
//必须要有的不然显示不出来
button2.translatesAutoresizingMaskIntoConstraints=NO;
//H:|-100-[button2]-100-| --->对应意思:H代表水平 第一个|代表屏幕左边的边框 第二个|代表屏幕右边边框 |-100[button]-100-|代表button距屏幕左右都有100的距离
//V:|-200-[button2(100)] ---->对应意思:V代表垂直 |-200[button(200)]-|代表距离屏幕顶部距离是200,button的宽度是button(200)
NSArray * constraints3=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-100-[button2]-100-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(button2)];
NSArray * constraints4=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-200-[button2(100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(button2)];
[self.view addConstraints:constraints3];
[self.view addConstraints:constraints4];
}
-(void)test3{
UIView * view1=[[UIView alloc]init];
UIView * view2=[[UIView alloc]init];
UIView * view3=[[UIView alloc]init];
view1.backgroundColor=[UIColor redColor];
view2.backgroundColor=[UIColor orangeColor];
view3.backgroundColor=[UIColor purpleColor];
view1.translatesAutoresizingMaskIntoConstraints=NO;
view2.translatesAutoresizingMaskIntoConstraints=NO;
view3.translatesAutoresizingMaskIntoConstraints=NO;
[self.view addSubview:view1];
[self.view addSubview:view2];
[self.view addSubview:view3];
//创建约束
NSArray * constraintsI=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[view1]-10-[view2(==view1)]-10-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view1,view2)];
NSArray * constraintsII=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[view2]-10-[view3(==view2)]-10-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view2,view3)];
NSArray * constraintsIIII=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[view3]-10-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view3)];
NSArray * constraintsIIIII=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[view1]-10-[view3]-10-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view1,view3)];
[self.view addConstraints:constraintsI];
[self.view addConstraints:constraintsII];
[self.view addConstraints:constraintsIIII];
[self.view addConstraints:constraintsIIIII];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end