添加约束会使应用程序崩溃
Adding constraints crashes app
我有一个自定义 UIView,我将其加载到 ViewController。
func loadBottomSheet(){
bottomSheet = Bundle.main.loadNibNamed("BottomSheetTest", owner: self, options: nil)![0] as! BottomSheetTest
bottomSheet?.setUp(parentController: self)
bottomSheet?.tag = 9009164
self.view.addSubview(bottomSheet!)
}
自定义视图的代码如下:
func setUp(parentController: UIViewController){
self.parentController = parentController;
self.translatesAutoresizingMaskIntoConstraints = false
self.leftAnchor.constraint(equalTo: parentController.view.leftAnchor).isActive = true
self.rightAnchor.constraint(equalTo: parentController.view.rightAnchor).isActive = true
self.heightAnchor.constraint(equalToConstant: CGFloat(400)).isActive = true
self.bottomAnchor.constraint(equalTo: parentController.view.bottomAnchor).isActive = true
}
我正在尝试将它添加到我的视图控制器中。以下代码使应用程序崩溃并出现一般错误:libc++abi.dylib: terminating with uncaught exception of type NSException.
此时我已经从自定义视图中删除了所有内容。你在这里看到的就是它的全部,没有更多 UI 元素,没有 IBOutlets,就是这样。我已经无计可施了。
您正在为不在您的视图层次结构中的视图添加约束,因此您首先需要将所需的视图添加为子视图,然后您可以设置约束而不会在此过程中崩溃
你需要移动这条线
self.view.addSubview(bottomSheet!)
上面这个
bottomSheet?.setUp(parentController: self)
我有一个自定义 UIView,我将其加载到 ViewController。
func loadBottomSheet(){
bottomSheet = Bundle.main.loadNibNamed("BottomSheetTest", owner: self, options: nil)![0] as! BottomSheetTest
bottomSheet?.setUp(parentController: self)
bottomSheet?.tag = 9009164
self.view.addSubview(bottomSheet!)
}
自定义视图的代码如下:
func setUp(parentController: UIViewController){
self.parentController = parentController;
self.translatesAutoresizingMaskIntoConstraints = false
self.leftAnchor.constraint(equalTo: parentController.view.leftAnchor).isActive = true
self.rightAnchor.constraint(equalTo: parentController.view.rightAnchor).isActive = true
self.heightAnchor.constraint(equalToConstant: CGFloat(400)).isActive = true
self.bottomAnchor.constraint(equalTo: parentController.view.bottomAnchor).isActive = true
}
我正在尝试将它添加到我的视图控制器中。以下代码使应用程序崩溃并出现一般错误:libc++abi.dylib: terminating with uncaught exception of type NSException.
此时我已经从自定义视图中删除了所有内容。你在这里看到的就是它的全部,没有更多 UI 元素,没有 IBOutlets,就是这样。我已经无计可施了。
您正在为不在您的视图层次结构中的视图添加约束,因此您首先需要将所需的视图添加为子视图,然后您可以设置约束而不会在此过程中崩溃
你需要移动这条线
self.view.addSubview(bottomSheet!)
上面这个
bottomSheet?.setUp(parentController: self)