IOS Automatic Layout and iOS Layout
The VFL language is used to achieve automatic layout at the beginning. One or two controls are fine, and several more controls are intolerable.
_backgroundImageView = [[UIImageView alloc] init]; _backgroundImageView.backgroundColor = [UIColor clearColor]; _backgroundImageView.translatesAutoresizingMaskIntoConstraints = NO; [self addSubview:_backgroundImageView]; NSMutableArray* contraints = [NSMutableArray new]; [contraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[_backgroundImageView]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_backgroundImageView)]]; [contraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[_backgroundImageView]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_backgroundImageView)]]; [self addConstraints:contraints];
Later, we found that Masonry implements automatic layout like this:
_scrollView = [[UIScrollView alloc] init]; _scrollView.pagingEnabled = YES; _scrollView.backgroundColor = [UIColor clearColor]; [self addSubview:_scrollView]; [_scrollView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(0); make.right.equalTo(0); make.top.equalTo(0); make.bottom.equalTo(0); }];