您的位置:首页 > 移动开发 > IOS开发

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

2016-04-17 06:54 330 查看
//
//  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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: