iOS autolayout 的基本使用(用代码添加约束)

//

//  ViewController.m

//  代码添加约束普通版

//

//  Created by 唐帅 on 16/4/17.

//  Copyright © 2016 tang. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

//    添加一个蓝色的view

    UIView *blueView = [[UIView alloc]init];

    blueView.backgroundColor = [UIColor blueColor];

    [self.view addSubview:blueView];

    

//    添加一个红色的view

    UIView *redView = [[UIView alloc]init];

    redView.backgroundColor = [UIColor redColor];

    [self.view addSubview:redView];

    

    

    

    //autoresizing取消,代表使用autolayout自动布局

    blueView.translatesAutoresizingMaskIntoConstraints = NO;

    redView.translatesAutoresizingMaskIntoConstraints = NO;

    

    /**

     *  给添加的view设置约束

     *  firstItem = secondItem * multiplier + constant

     *  withItem 代表firstItem

     *  attribute 属性,比较的位置

     *  relateBy:比较方式

     *  toItem 代表 secondItem

     *  mutiplier:倍数

     *  constant:数值(对于宽或高的长度)

     */

    

//    给蓝色view添加约束

    NSLayoutConstraint *blueTop = [NSLayoutConstraint constraintWithItem:blueView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:20];

    [self.view addConstraint:blueTop];

    

    NSLayoutConstraint *blueLeft = [NSLayoutConstraint constraintWithItem:blueView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1 constant:20];

    [self.view addConstraint:blueLeft];

    

    NSLayoutConstraint *blueRight = [NSLayoutConstraint constraintWithItem:blueView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1 constant:-20];

    [self.view addConstraint:blueRight];

    

    NSLayoutConstraint *blueHigh = [NSLayoutConstraint constraintWithItem:blueView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1 constant:100];

    [blueView addConstraint:blueHigh];

    

//    给红色view添加约束

    

    NSLayoutConstraint *redTop = [NSLayoutConstraint constraintWithItem:redView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:blueView attribute:NSLayoutAttributeBottom multiplier:1 constant:50];

    [self.view addConstraint:redTop];

    

    NSLayoutConstraint *redRight = [NSLayoutConstraint constraintWithItem:redView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:blueView attribute:NSLayoutAttributeRight multiplier:1 constant:0];

    [self.view addConstraint:redRight];

    

    NSLayoutConstraint *redHeigh = [NSLayoutConstraint constraintWithItem:redView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:blueView attribute:NSLayoutAttributeHeight multiplier:1 constant:0];

    [self.view addConstraint:redHeigh];

    

    NSLayoutConstraint *redWidth = [NSLayoutConstraint constraintWithItem:redView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:blueView attribute:NSLayoutAttributeWidth multiplier:0.5 constant:0];

    [self.view addConstraint:redWidth];

}


@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值