[英]How can l add subviews to my stackView? I try, but l can't see them in my view
我創建了 class:UIView,其中我創建了 label、textField 和 stackView。 我想將它們添加到我的 stackView 中,但我不知道問題出在哪里。
class View: UIView {
let stackView: UIStackView = {
let sv = UIStackView()
sv.axis = .vertical
sv.distribution = .fillEqually
sv.spacing = 10
sv.translatesAutoresizingMaskIntoConstraints = false
return sv
}()
let errorCodeLabel: UILabel = {
let lbl = UILabel()
lbl.text = "Error"
-------- (code)
lbl.translatesAutoresizingMaskIntoConstraints = false
return lbl
}()
let textField: UITextField = {
let tf = UITextField()
-------- (code)
tf.translatesAutoresizingMaskIntoConstraints = false
return tf
}()
init() {
super.init(frame: .zero)
setUpStackView()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setUpStackView() {
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.addArrangedSubview(errorCodeLabel)
stackView.addArrangedSubview(textField)
}
在此 l go 到我的 viewController 之后,使這個常量:
let tField = View()
並為其添加一些約束。
但是當我運行我的模擬器時,我什么也沒看到。 請幫忙!
您需要將 stackView 添加為視圖的子視圖。 在初始化中做addSubview(stackView)
。 此外,您需要將 stackView 中的約束添加到父視圖。
作為一個建議,我會讓你的 class 成為 UIStackView 的子類,因為無論如何你都不會直接向視圖添加多個元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.