编程 UITextField 在 viewDidLoad 上不可见
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
}()
我正在尝试以编程方式创建一个 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
}()