-1

我正在使用 XCode 11.2 在 iOS 版本 13.2 的 iPhone XR 上运行应用程序,应用程序崩溃了。

reason: '-viewForFirstBaselineLayout 和 -viewForLastBaselineLayout 的返回值必须在接收者的子树中

我尝试搜索但在这里找不到解决方案: https ://forums.xamarin.com/discussion/17633/nsinternalconsistencyexception-any-ideas-on-what-is-causing-this

我不知道我需要在这里发布什么文件来解决这个问题。因此,如果需要任何文件来理解这一点,请在评论中提及。

func removeSubviews() {
        for subview in self.subviews {
            subview.removeSubviews()
            subview.removeFromSuperview()//this line is causing crash.
        }
        self.removeConstraints(self.constraints)
    }
4

1 回答 1

0

删除始终应与添加相反。所以视图添加到超级视图然后激活约束,因此我会这样做

func removeSubviews() {
        self.removeConstraints(self.constraints)
        for subview in self.subviews {
            subview.removeSubviews()
            subview.removeFromSuperview()
        }
    }

在构建视图层次结构时,您还应该检查您添加的其他内容,因此如果创建了任何其他交叉引用,那么它们也应该再次被销毁 - 以相反的顺序。

于 2020-01-03T18:29:37.663 回答