Swift 将func loadview中声明的self.view约束到视图控制器的部分区域
下面的代码是用于绘制属性的子类canvas。我试图将画布约束到viewdidload中的特定区域。问题是func loadView阻止viewdidload中的约束工作。在调试区域中,它表示无法同时满足约束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
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”而终止应用程序,原因是:“无法将自身添加为子视图”