线程 1:信号 SIGABRT swift

Thread 1: signal SIGABRT swift

我试图将文本居中放置在视图中间,但收到错误消息。这是我的代码作为参考。

let textbox = UITextField()
    textbox.text = "Hello"
    textbox.sizeToFit()
    textbox.centerXAnchor.constraint(equalTo: textboxView.centerXAnchor).isActive = true
    textbox.centerYAnchor.constraint(equalTo: textboxView.centerYAnchor).isActive = true
    textbox.delegate = self
    self.textboxView.addSubview(textbox)

您没有给出关于其余视图控制器的很多细节,因此您可能已经在其他地方添加了它。

但是,当使用自动布局约束时,您必须关闭自动遮罩。

textbox.translatesAutoresizingMaskIntoConstraints = false

您还应该在设置约束之前将文本框添加为子视图。

你不能限制一个视图相对于另一个视图,除非它们首先是相关的。

设置约束前需要先添加子视图

let textbox = UITextField()
textbox.text = "Hello"
textbox.translatesAutoresizingMaskIntoConstraints = false
self.textboxView.addSubview(textbox)
textbox.centerXAnchor.constraint(equalTo: textboxView.centerXAnchor).isActive = true
textbox.centerYAnchor.constraint(equalTo: textboxView.centerYAnchor).isActive = true
textbox.delegate = self