我希望我的堆栈 View 具有三个 View :红色图像、蓝色图像和注册 View 。问题是,虽然红色和蓝色按钮显示得很好,但注册 View 却没有。
这就是我在 View Controller View 中设置和放置堆栈 View 的方式:
func setupSocialStackView() {
let socialStackView = UIStackView(arrangedSubviews: redImage, blueImage, registerView])
socialStackView.axis = .vertical
socialStackView.distribution = .fillProportionally
view.addSubview(socialStackView)
socialStackView.spacing = 8
// NSLayoutAnchor constraints here to place stack view
// inside my view controller view
}
这是我没有显示的注册 View 的代码:
lazy var registerView: UIView = {
let containerView = UIView()
// Register button
let registerButton = UIButton(type: .system)
registerButton.setTitle("Register", for: .normal)
registerButton.titleLabel?.font = UIFont.systemFont(ofSize: 12, weight: UIFontWeightLight)
registerButton.titleLabel?.textAlignment = .center
registerButton.setTitleColor(UIColor.black, for: .normal)
registerButton.titleLabel?.textColor = UIColor(r: 91, g: 90, b: 90)
registerButton.addTarget(self, action: #selector(presentRegisterController), for: .touchUpInside)
containerView.addSubview(registerButton)
return containerView
}()
堆栈 View 的另外两个排列 View 是UIImageView
。
为什么有两个图像而注册 View 没有?我错过了什么吗?
最佳答案
您似乎没有为 UIButton 指定框架大小。如果添加 autoresizingMask 行,看看会得到什么:
registerButton.addTarget(self, action: #selector(presentRegisterController), for: .touchUpInside)
registerButton.autoresizingMask = [.flexibleWidth, .flexibleHeight]
containerView.addSubview(registerButton)
关于ios - 堆栈 View 的 subview 之一根本没有显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42208708/