objective-c 苹果官方NSLayoutConstraint 页面布局

//

//  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)]-|代表距离屏幕顶部距离是200button的宽度是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


转载于:https://my.oschina.net/u/2483781/blog/596950

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值