Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将func loadview中声明的self.view约束到视图控制器的部分区域_Swift_View_Nslayoutconstraint_Self_Loadview - Fatal编程技术网

Swift 将func loadview中声明的self.view约束到视图控制器的部分区域

Swift 将func loadview中声明的self.view约束到视图控制器的部分区域,swift,view,nslayoutconstraint,self,loadview,Swift,View,Nslayoutconstraint,Self,Loadview,下面的代码是用于绘制属性的子类canvas。我试图将画布约束到viewdidload中的特定区域。问题是func loadView阻止viewdidload中的约束工作。在调试区域中,它表示无法同时满足约束 var canvas = Canvas() override func loadView() { self.view = canvas } override func viewDidLoad() { super.viewDidLoad() c

下面的代码是用于绘制属性的子类canvas。我试图将画布约束到viewdidload中的特定区域。问题是func loadView阻止viewdidload中的约束工作。在调试区域中,它表示无法同时满足约束

  var canvas = Canvas()

 override func loadView() {
         self.view = canvas


}

override func viewDidLoad() {
    super.viewDidLoad()

    canvas.translatesAutoresizingMaskIntoConstraints = false

    NSLayoutConstraint.activate ([
               canvas.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :37.5),
               canvas.topAnchor.constraint(equalTo: view.centerYAnchor, constant : 225),
               canvas.widthAnchor.constraint(equalToConstant: 75),
               canvas.heightAnchor.constraint(equalToConstant: 50),
    ])

}

class Canvas: UIView {}

是否将画布添加为视图的子视图?在设置约束之前,需要执行以下操作:

canvas.translatesAutoresizingMaskIntoConstraints=false
self.view.addSubview(画布)
NSLayoutConstraint.activate([
canvas.trailingAnchor.constraint(等式:view.centerXAnchor,常数:37.5),
canvas.topAnchor.constraint(等式:view.centerYAnchor,常数:225),
canvas.widthAnchor.constraint(相等常量:75),
canvas.heightAnchor.constraint(相等常量:50),
])

我尝试了你的代码这是我在调试区域得到的,由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因是:“无法将自身添加为子视图”