Autolayout布局模式

import “ViewController.h”

@interface ViewController ()

@end

@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    /*
    AutoLayout由来
    IOS6之后出现的一种新的布局方式,用于取代原先的Autosizing系统的布局方式
    Autolayout是指定视图和其父视图或者视图和其兄弟之间的关系来布局
    在Autolayout当中,我们使用约束来描述视图和视图之间的关系
    Oc专门为开发者封装了一个类NSlayoutConstraint来帮助开发者描述布局

    */

    /*
    参数的意义
    1,(id)item:约束中的两个视图对象
    2,attribute:描述视图的对齐特征
    3,relateBy:描述两个视图attribute的关系
    4,multiplier:缩放比例
    5,constant:偏移量

    视图1.属性 关系 视图2.属性*缩放比例+偏移量

    视图1.左边 ==视图2.左边*1+0;
    [NSLayoutConstraint constraintWithItem:view1 attribute:左边 relatedBy:== toItem:view2 attribute:左边 multiplier:1 constant:0]
    视图1.宽度 ==100
    [NSLayoutConstraint constraintWithItem:view1 attribute:宽度 relatedBy:== toItem:nil attribute:nil multiplier:0 constant:100]

    */
    //
    // UIView *view1 = [UIView new];
    // UIView *view2 = [UIView new];
    // UIView *view3 = [UIView new];
    // //启用Autolayout布局方式
    // view1.translatesAutoresizingMaskIntoConstraints = NO;
    // view1.backgroundColor = [UIColor greenColor];
    // view2.translatesAutoresizingMaskIntoConstraints = NO;
    // view2.backgroundColor = [UIColor redColor];
    //
    // NSLayoutConstraint *constraint1 = [NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1 constant:10];
    // NSLayoutConstraint *constraint2 = [NSLayoutConstraint constraintWithItem:view2 attribute: NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1 constant:20];
    //
    //
    //
    // [self.view addConstraint:constraint1];
    //
    //
    //
    // [self.view addConstraint:constraint2];

    UIView *view1 = [UIView new ];
    view1.translatesAutoresizingMaskIntoConstraints = NO;
    view1.backgroundColor = [UIColor redColor];
    [self.view addSubview:view1];
    NSLayoutConstraint *constraint1 = [NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0];
    NSLayoutConstraint *constraint2 = [NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterY multiplier:1 constant:0];
    NSLayoutConstraint *constraint3 = [NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:100];
    NSLayoutConstraint *constraint4 = [NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:100];
    [self.view addConstraint:constraint1];
    [self.view addConstraint:constraint2];
    [self.view addConstraint:constraint3];
    [self.view addConstraint:constraint4];
    

}

  • (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

@end


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部