我希望我的堆棧視圖有三個視圖:紅色圖像,藍色圖像和註冊視圖。問題是,雖然紅色和藍色按鈕顯示得很好,但註冊視圖不會顯示。其中一個堆棧視圖的子視圖根本沒有顯示
這是我如何設置,並把我的視圖控制器視圖中我的籌碼觀點:
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
}
這是我的註冊視圖不顯示的代碼:
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
}()
其他兩個排列視圖的堆棧視圖是UIImageView
s。
爲什麼那裏的兩個圖像和寄存器視圖不是?我錯過了什麼嗎?
你可以顯示視圖的約束條件嗎? – Ocunidee
默認情況下,'UIView'沒有'intrinsicContentSize',所以要將它與縱軸上的'UIStackView'一起使用,需要添加高度約束。因爲它是堆棧視圖設置您的註冊視圖的高度爲0. – beyowulf