编程 UITextField 在 vi​​ewDidLoad 上不可见

Programmatic UITextField not visible on viewDidLoad

我正在尝试以编程方式创建一个 UITextField,但是它没有出现在视图中。

我相信我已经正确设置了约束,它们应该都在 viewDidLoad 上被激活。我确定我错过了一些明显的东西,但是我一生都无法理解。

class HomeController: UIViewController {

    let textField: UITextField = {
        let input = UITextField()
        input.translatesAutoresizingMaskIntoConstraints = false
        return input
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .purple

        view.addSubview(textField)
        NSLayoutConstraint.activate([
            textField.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            textField.centerYAnchor.constraint(equalTo: view.centerYAnchor),
            textField.widthAnchor.constraint(equalToConstant: 300),
            textField.heightAnchor.constraint(equalToConstant: 40)
        ])

    }
}

设置背景属性它会显示。

let textField: UITextField = {
    let input = UITextField()
    input.backgroundColor = UIColor.white
    input.translatesAutoresizingMaskIntoConstraints = false
    return input
}()