个人感觉,现阶段IOS开发必备技能—–AutoLayout。苹果公司也一直在推荐这个布局方法。现在我们来简单了解一下。直接上代码:
UIView *backgroundView = [[UIView alloc] init];
[backgroundView setTranslatesAutoresizingMaskIntoConstraints:NO];
backgroundView.backgroundColor = [UIColor blueColor];
[self.view addSubview:backgroundView];
//UILabel
UILabel *textInfoLabel = [[UILabel alloc] init];
[textInfoLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
textInfoLabel.backgroundColor = [UIColor redColor];
textInfoLabel.numberOfLines = 0;
textInfoLabel.font = [UIFont systemFontOfSize:15];
textInfoLabel.text = @"测试";
[self.view addSubview:textInfoLabel];
NSDictionary *views = @{@"backgroundView":backgroundView, @"textInfoLabel":textInfoLabel};
NSDictionary *metrics = @{@"LeftStep":@20, @"TopStep":@30, @"Width":@200, @"Height":@"100", @"VStep":@20, @"HStep":@20};
//垂直方向 @“垂直方向:|-距离顶部-[backgroundView(==Width)]-两个view之间的垂直距离-[textInfoLabel(>=一行字的高度)]”
NSString *vLayoutString = @"V:|-TopStep-[backgroundView(==Width)]-VStep-[textInfoLabel(>=20)]";
NSArray *vLayoutArray = [NSLayoutConstraint constraintsWithVisualFormat:vLayoutString options:0 metrics:metrics views:views];
//水平方向 @"水平方向:|-距离左边-[backgroundView(==水平高度(宽度))-两个view之间的水平距离-[]]
NSString *hLayoutstring = @"H:|-LeftStep-[backgroundView(==Height)]-HStep-[textInfoLabel(==120)]";
NSArray *hLayoutArray = [NSLayoutConstraint constraintsWithVisualFormat:hLayoutstring options:0 metrics:metrics views:views];
[self.view addConstraints:vLayoutArray];
[self.view addConstraints:hLayoutArray];