gpt4 book ai didi

ios - 隐藏 View 后如何更新布局

转载 作者:行者123 更新时间:2023-11-28 20:58:47 25 4
gpt4 key购买 nike

在我的基于约束的布局中有 3 个 ImageView,在某些情况下我必须删除第二个 ImageView,我尝试隐藏 ImageView 但问题是 ImageView1ImageView3 并且布局在隐藏其中一个 View 后没有得到更新,我尝试了一些关于堆栈溢出的解决方案但没有得到解决。试过这样的事情

(void)viewDidLoad {

[super viewDidLoad];
Imageview2.hidden = YES;
[self setNeedsLayout];
}

我也试过 [self.view LayoutIfNeeded] 但没有改变同样的结果。有没有更好的方法来做到这一点。请帮我解决这个问题。

最佳答案

由于它是基于约束的布局,您必须将宽度和高度约束设置为 0,同时将第二个 ImageView 的前导空格和尾随空格设置为 0(假设是水平布局),如果是垂直布局,则第二个 View 的顶部和底部间距为 0。即使 UIImageView 被隐藏,约束仍然有效。

或者,一种更简单的方法是将所有三个项目放入一个UIStackView 中,然后隐藏所需的元素。堆栈 View 在尊重 autoLayout 的同时为您处理所有这些。据我所知,当您在 UIStackView

中隐藏对象时,它会将宽度和高度的约束添加为 0

我建议使用UIStackView如果您的应用支持iOS 9 及以上版本

关于ios - 隐藏 View 后如何更新布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com