IOS(UI)_AutoLayout(自动布局)_01

来源:互联网 发布:淘宝开店手机咋开不了 编辑:程序博客网 时间:2024/06/04 20:14


#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];        /*     AutoLayout由来     ios6之后出现的一种新的布局方式,拥有取代原先的AutoLayout系统的布局方式AutoLayout是指定视图和父视图     或者 视图和兄弟视图的关系来布局          在AutonLayout当中,我们使用约束来描述视图与视图之间的关系     OC专门为开发者封装了一个类    NSLayoutConstraint来帮助开发者描述布局               *///[NSLayoutConstraint constraintWithItem:<#(nonnull id)#>//                                 attribute:<#(NSLayoutAttribute)#>//                                 relatedBy:<#(NSLayoutRelation)#>//                                    toItem:<#(nullable id)#>//                                 attribute:<#(NSLayoutAttribute)#>//                                multiplier:<#(CGFloat)#>//                                  constant:<#(CGFloat)#>];            /*     参数的意思:     item:约束中两个视图对象     attribute:描述视图的对齐特征     relatredBy:描述两个视图attribute关系     multiplier:缩放比例     constant:偏移量          视图1.属性 关系 视图2.属性*缩放比例+偏移量          视图1.左边==视图2.左边 * 1 + 0          [NSLayoutConstraint constraintWithItem:视图1 attribute:左边 relatedBy:等于 toItem:视图2 attribute:左边 multiplier:1 constant:0];          视图1.宽度==100         [NSLayoutConstraint constraintWithItem:视图1 attribute:宽度 relatedBy:等于 toItem:nil attribute:宽度 multiplier:1 constant:100];     */    UIView *view1=[UIView new];    view1.backgroundColor=[UIColor redColor];    //启动autoLayout布局    view1.translatesAutoresizingMaskIntoConstraints=NO;    [self.view addSubview:view1];        NSLayoutConstraint *constraint1=[NSLayoutConstraint constraintWithItem:view1                                                                 attribute:NSLayoutAttributeCenterX                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:self.view                                                                 attribute:NSLayoutAttributeCenterX                                                                multiplier:1                                                                  constant:0];    [self.view addConstraint:constraint1];    NSLayoutConstraint *constraint2=[NSLayoutConstraint constraintWithItem:view1                                                                 attribute:NSLayoutAttributeCenterY                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:self.view                                                                 attribute:NSLayoutAttributeCenterY                                                                multiplier:1                                                                  constant:0];    [self.view addConstraint:constraint2];    //大小    NSLayoutConstraint *constraint3=[NSLayoutConstraint constraintWithItem:view1                                                                 attribute:NSLayoutAttributeWidth                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:nil                                                                 attribute:NSLayoutAttributeWidth                                                                multiplier:1                                                                  constant:100];    [self.view addConstraint:constraint3];    NSLayoutConstraint *constraint4=[NSLayoutConstraint constraintWithItem:view1                                                                 attribute:NSLayoutAttributeHeight                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:nil                                                                 attribute:NSLayoutAttributeHeight                                                                multiplier:1                                                                  constant:100];    [self.view addConstraint:constraint4];        UIView *view2=[UIView new];    view2.backgroundColor=[UIColor yellowColor];    //启动autoLayout布局    view2.translatesAutoresizingMaskIntoConstraints=NO;    [self.view addSubview:view2];        NSLayoutConstraint *constraint1_view2=[NSLayoutConstraint constraintWithItem:view1                                                                 attribute:NSLayoutAttributeRight                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:view2                                                                 attribute:NSLayoutAttributeLeft                                                                multiplier:1                                                                  constant:0];    [self.view addConstraint:constraint1_view2];    NSLayoutConstraint *constraint2_view2=[NSLayoutConstraint constraintWithItem:view1                                                                 attribute:NSLayoutAttributeBottom                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:view2                                                                 attribute:NSLayoutAttributeTop                                                                multiplier:1                                                                  constant:0];    [self.view addConstraint:constraint2_view2];    //大小    NSLayoutConstraint *constraint3_view2=[NSLayoutConstraint constraintWithItem:view2                                                                 attribute:NSLayoutAttributeWidth                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:nil                                                                 attribute:NSLayoutAttributeWidth                                                                multiplier:1                                                                  constant:50];    [self.view addConstraint:constraint3_view2];    NSLayoutConstraint *constraint4_view2=[NSLayoutConstraint constraintWithItem:view2                                                                 attribute:NSLayoutAttributeHeight                                                                 relatedBy:NSLayoutRelationEqual                                                                    toItem:nil                                                                 attribute:NSLayoutAttributeHeight                                                                multiplier:1                                                                  constant:100];    [self.view addConstraint:constraint4_view2];        }- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end



0 0
原创粉丝点击