首页 > 代码库 > iOS自动布局

iOS自动布局


一开始用VFL语言都是这样实现自动布局的,一两个控件还好,多几个控件简直不能忍。
    _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];


后来发现了Masonry 现在都是这样实现自动布局的:

    _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);
    }];

iOS自动布局