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

来源:互联网 发布:什么是绿色版软件 编辑:程序博客网 时间:2024/03/29 21:20

//

//  ViewController.m

//  代码添加约束普通版

//

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

//  Copyright © 2016 tang. All rights reserved.

//


#import "ViewController.h"


@interfaceViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    

//    添加一个蓝色的view

    UIView *blueView = [[UIViewalloc]init];

    blueView.backgroundColor = [UIColorblueColor];

    [self.viewaddSubview:blueView];

    

//    添加一个红色的view

    UIView *redView = [[UIViewalloc]init];

    redView.backgroundColor = [UIColorredColor];

    [self.viewaddSubview: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 = [NSLayoutConstraintconstraintWithItem:blueView attribute:NSLayoutAttributeToprelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTopmultiplier:1constant:20];

    [self.viewaddConstraint:blueTop];

    

    NSLayoutConstraint *blueLeft = [NSLayoutConstraintconstraintWithItem:blueView attribute:NSLayoutAttributeLeftrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeLeftmultiplier:1constant:20];

    [self.viewaddConstraint:blueLeft];

    

    NSLayoutConstraint *blueRight = [NSLayoutConstraintconstraintWithItem:blueView attribute:NSLayoutAttributeRightrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeRightmultiplier:1constant:-20];

    [self.viewaddConstraint:blueRight];

    

    NSLayoutConstraint *blueHigh = [NSLayoutConstraintconstraintWithItem:blueView attribute:NSLayoutAttributeHeightrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeHeightmultiplier:1constant:100];

    [blueView addConstraint:blueHigh];

    

//    给红色view添加约束

    

    NSLayoutConstraint *redTop = [NSLayoutConstraintconstraintWithItem:redView attribute:NSLayoutAttributeToprelatedBy:NSLayoutRelationEqualtoItem:blueView attribute:NSLayoutAttributeBottommultiplier:1constant:50];

    [self.viewaddConstraint:redTop];

    

    NSLayoutConstraint *redRight = [NSLayoutConstraintconstraintWithItem:redView attribute:NSLayoutAttributeRightrelatedBy:NSLayoutRelationEqualtoItem:blueView attribute:NSLayoutAttributeRightmultiplier:1constant:0];

    [self.viewaddConstraint:redRight];

    

    NSLayoutConstraint *redHeigh = [NSLayoutConstraintconstraintWithItem:redView attribute:NSLayoutAttributeHeightrelatedBy:NSLayoutRelationEqualtoItem:blueView attribute:NSLayoutAttributeHeightmultiplier:1constant:0];

    [self.viewaddConstraint:redHeigh];

    

    NSLayoutConstraint *redWidth = [NSLayoutConstraintconstraintWithItem:redView attribute:NSLayoutAttributeWidthrelatedBy:NSLayoutRelationEqualtoItem:blueView attribute:NSLayoutAttributeWidthmultiplier:0.5constant:0];

    [self.viewaddConstraint:redWidth];

}


@end

0 0
原创粉丝点击