Reputation: 151
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.
Upvotes: 1
Views: 428