iOS原生的布局写法
方法1:使用 HV方式
self.backImageView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[backimage]-|" options:NSLayoutFormatAlignmentMask metrics:nil views:@{@"backimage":self.backImageView}]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[backimage]-|" options:NSLayoutFormatAlignmentMask metrics:nil views:@{@"backimage":self.backImageView}]];
//直接加
self.phoneView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.phoneView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.logoImage attribute:NSLayoutAttributeBottom multiplier:1.0 constant:33 * FitHeight]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.phoneView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.phoneView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeWidth multiplier:1.0 constant:230 * FitWidth]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.phoneView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0 constant:42 * FitHeight]];
采用 masorny 的写法
//电话框
[self.phoneView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.logoImage.mas_bottom).offset(33 * FitHeight);
make.centerX.equalTo(self.view.mas_centerX);
make.width.equalTo(@(230 * FitWidth));
make.height.equalTo(@(42 * FitHeight));
}];