如何快速隐藏 UIView 并为 UITable 视图设置新高度?

仿佛王子

我的视图控制器中有一个 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章