Masonry v1.1.0 crash when using safeAreaLayoutGuide

429 Views Asked by At

this crash:

make.top.left.right.equalTo(self.view.mas_safeAreaLayoutGuide);

but this ok:

make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop);
make.left.equalTo(self.view.mas_safeAreaLayoutGuideLeft);
make.right.equalTo(self.view.mas_safeAreaLayoutGuideRight);

why? I use masonry

It's the main code:

- (void)configView {
    self.view.backgroundColor = kColor666;
    UIView *headView = [UIView new];
    headView.backgroundColor = kColorWhite;
    [self.view addSubview:headView];
    [headView mas_makeConstraints:^(MASConstraintMaker *make) {
    if (@available(iOS 11.0, *)) {
        make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop); //ok
        make.left.equalTo(self.view.mas_safeAreaLayoutGuideLeft);   //ok
        make.right.equalTo(self.view.mas_safeAreaLayoutGuideRight); //ok
        make.top.left.right.equalTo(self.view.mas_safeAreaLayoutGuide);   //crash
    } else {
        make.top.equalTo(self.mas_topLayoutGuide);
        make.left.right.equalTo(self.view);
    }
    make.height.mas_equalTo(120);
    }];
}

it seems nothing wrong. I just want to write less code.

0

There are 0 best solutions below