添加约束会导致应用程序崩溃。

3
我有一个自定义的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:终止未捕获的类型为NSException的异常。

此时,我已经从自定义视图中删除了所有内容。您在此处看到的就是全部内容,没有更多的UI元素或IBOutlets,就这些。我已经陷入困境。

1个回答

8

您正在为不在视图层次结构中的视图添加约束,因此您首先需要将所需的视图作为子视图添加,然后可以设置约束而无需崩溃

您需要移动这一行

self.view.addSubview(bottomSheet!)

在此之上

bottomSheet?.setUp(parentController: self)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接