【发布时间】:2020-12-18 08:12:17
【问题描述】:
我创建了类:UIView,我在其中创建了一个标签、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)
}
之后我去我的viewController,使这个常量:
let tField = View()
并为其添加一些约束。
但是当我运行我的模拟器时,我什么也看不到。请帮忙!
【问题讨论】:
-
你在哪里添加你的堆栈视图到你的视图中?你的限制在哪里?
标签: swift view subview stackview