我的视图控制器中有一个 UITable 视图,表视图底部有一个堆栈视图。当 stackview isHidden 时,我希望 UITable 视图进入完整视图。这是我编写的代码:
if response.total != 0.0{
checkoutStackView.layoutIfNeeded()
medDetailTableView.translatesAutoresizingMaskIntoConstraints = false
medDetailTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0.0).isActive = true
vwPlaceOrder.isHidden = true
viewCheckout.isHidden = true
checkoutStackView.isHidden = true
}else{
checkoutStackView.layoutIfNeeded()
viewCheckout.isHidden = false
checkoutStackView.isHidden = false
self.vwPlaceOrder.isHidden = false
self.lblTotalItemsPrice.text = String(format: "%.1f",response.total)
medDetailTableView.translatesAutoresizingMaskIntoConstraints = false
medDetailTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -70.0).isActive = true
}
但此代码仅显示堆栈视图,但当堆栈视图隐藏时,UITableview 不会显示完整视图。这是显示 stackview 时的图像:这是隐藏 stackview 时的图像:
当你在 Swift 中隐藏一个视图时,它只是让它隐藏但隐藏视图的约束仍然存在。所以你必须将这个高度限制设置为 0。
为此,您可以创建 Constraints 的出口并将其更改为:
@IBOutlet weak var heightConstt: NSLayoutConstraint!
当你隐藏 stackView 时改变它的约束
heightConstt.constant = 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句