作为初学者写代码时遇到以下问题:
Thread 1: "couldn't find a common superview for <UIView: 0x7fca70053d60; frame = (0 0; 0 0); layer = <CALayer: 0x600002172ba0>> and <UIView: 0x7fca70043e80; frame = (0 0; 414 896); layer = <CALayer: 0x6000021724e0>>"
在编译运行过程中Xcode报下面的错误:
Xcode 错误信息
原因:在使用masonry库时,必须要将当前的视图加入到其上一层视图中才可以使用masonry约束。
正确的做法就是,将两个步骤反过来就会报错。
_infoView = [[UIView alloc] init];
[_baseView addSubview:_infoView]; //先加入到上一层布局中 PS:infoView与baseVIew都是UIView(步骤1)
[_infoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(_baseView).offset(10);
make.left.equalTo(_baseView.mas_left).offset(15);
make.right.equalTo(_baseView.mas_right).offset(-15);
make.height.equalTo(@150);
}]; //设置约束(步骤2)