我制作了一个自定义 View ,其中有一个按钮,可以从其父 View 中删除该 View 。该 View 是从作为 super View 的 View Controller 创建的。我已经在我的自定义 View 类中为我的 View 设置了如下约束,但我认为它们有问题。
// View Contstaints
translatesAutoresizingMaskIntoConstraints = false
leadingAnchor.constraint(equalTo: superview!.leadingAnchor, constant: 40).isActive = true
trailingAnchor.constraint(equalTo: superview!.trailingAnchor, constant: -40).isActive = true
heightAnchor.constraint(equalToConstant: 420).isActive = true
centerYAnchor.constraint(equalTo: superview!.centerYAnchor).isActive = true
backgroundColor = .white
layer.cornerRadius = 15
当我按下按钮时,我得到线程 1: fatal error :在展开可选值时意外发现 nil 从 View 的这个特定约束
leadingAnchor.constraint(equalTo: superview!.leadingAnchor, constant: 40).isActive = true
我该如何解决这个问题?谢谢。
最佳答案
在从父 View 中移除 View 之前,调用 NSLayoutConstraint.deactivate(yourView.constraints)
可能会有所帮助
然而,了解您在 View 类中的何处调用约束代码会很有帮助。一般来说,最好在 viewController 中设置约束,然后在需要时从 View Controller 中删除 View ,这可能会解决问题。
关于ios - 从 super View 崩溃中删除 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55317241/