UIStackView分布均匀填充

2024-06-19

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

我的问题:

如何添加最大高度UIView这样它就不会填满整个空间UIStackView即使分布均匀?我读过一些有关添加约束的内容,但无法使其发挥作用。顺便说一句,我正在使用 swift。

谢谢。


作为确认,这是当前的行为:

这是必需的:

您可以按照这个简单的技巧来实现它:

P.S:我假设您为堆栈视图添加了所需的适当约束。

如果你的堆栈视图没有"height"约束,加一:

现在,将其添加为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
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIStackView分布均匀填充 的相关文章

随机推荐