Swift SnapKit动态高度问题

Swift SnapKit动态高度问题,swift,constraints,snapkit,Swift,Constraints,Snapkit,我在DispatchQueue.main.async上使用了snapKit,以编程方式设置约束。但我注意到,main.async有时会导致冻结UI,我更改了使用它的方法。现在我有问题,使用动态高度,旧的方法造成错误时,我试图使动态高度取决于内容 旧方法(内部视图-是视图的子视图) 新方法 superView.addSubview(view) view.snp.makeConstraints({ (make) in make.top.equalToSuperview().i

我在DispatchQueue.main.async上使用了snapKit,以编程方式设置约束。但我注意到,main.async有时会导致冻结UI,我更改了使用它的方法。现在我有问题,使用动态高度,旧的方法造成错误时,我试图使动态高度取决于内容

旧方法(内部视图-是视图的子视图)

新方法

superView.addSubview(view)
view.snp.makeConstraints({ (make) in
            make.top.equalToSuperview().inset(45)
            make.left.right.equalToSuperview().inset(12)
            make.bottom.equalTo(self.innerView.snp.bottom).offset(12)
        })

在设置约束之前,必须同时添加这两个约束

superView.addSubview(view)
superView.addSubview(innerView) //  or view.addSubview(innerView) if it's nested UI
view.snp.makeConstraints({ (make) in
     make.top.equalToSuperview().inset(45)
     make.left.right.equalToSuperview().inset(12)
     make.bottom.equalTo(self.innerView.snp.bottom).offset(12)
})

我发现了这个问题,以防有人需要它。。。添加make.bottom.equalTo(self.innerView.snp.bottom).offset(12),在添加所有superview约束之后,它将工作

什么错误/崩溃?@shu Khan其SnapKit关系错误..你能发布吗it@Sh_Khan我不知道当您不知道子视图约束时,是否可以进行底部约束。对异步它将工作,但这样做。不知道它是否也可能是
内部视图
内部
超级视图
superView.addSubview(view)
superView.addSubview(innerView) //  or view.addSubview(innerView) if it's nested UI
view.snp.makeConstraints({ (make) in
     make.top.equalToSuperview().inset(45)
     make.left.right.equalToSuperview().inset(12)
     make.bottom.equalTo(self.innerView.snp.bottom).offset(12)
})