ios – UIStackView分配同样填写

所以,我有一个包含四(4)个UIViews的UIStackView.如果我删除其中一(1)个UIViews,其他三个(3)将填充UIStackView中的整个空间.

我的问题:

如何在UIView上添加最大高度,以便它不会填充UIStackView的整个空间,即使分布均匀填充?我读了一些关于添加约束的内容,但我无法使其工作.顺便说一下,我正在使用swift.

谢谢.

解决方法

如果我没有误会,你面临的是:

你要的是:

好吧,如果这是你的情况 – 我希望它是 –,我通过做一个非常简单的技巧实现了这一点:

P.S:我假设你为stackView添加了approrpriate约束.

如果您的stackView没有“高度”约束,请添加一个

现在,将它作为IBOutlet添加到指定的ViewController,在我的示例中,我将其称为stackHeight:

@IBOutlet weak var stackHeight: NSLayoutConstraint!

如果您要隐藏视图的事件 – 在我的示例中,我隐藏在IBAction上的橙色按钮,当它点击它时,应该隐藏 – 你需要获得你想要的视图的高度隐藏和减少stackHeight.constant:

@IBAction func orangeTapped(_ sender: AnyObject) {
        orange.isHidden = true

        // here we go:
        stackHeight.constant = stackHeight.constant - orange.frame.size.height
    }

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...