couldn't find a common superview for ...的问题。

作为初学者写代码时遇到以下问题:

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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容