删除 UIView 后重置其他组件的约束

Reset Constraints for the other components after removing a UIView

我有一个横幅 UIView 如果用户有 NoAds 功能我想删除它。

问题是在我删除横幅 UIView 之后,我无法找到一种方法来设置顶部视图的约束以包裹 ViewController 的其余部分。

这里有一些图片可以让你更好地理解。

我用 removeFromSuperview() 方法删除了横幅 UIView

在故事板上,我的底部约束设置为 0 朝向最近的邻居,即当时的 UIView 横幅。问题是,在我删除 Banner UIView 之后,我想将上面的 UIView 的底部约束设置为 0 朝向 SuperView。

提前致谢。

你可以使用简单的解决方案

您可以设置顶部视图、垂直横幅 StackViewDistribution 填充 对齐 填充

当 Stack-view 项目之一 Hidden 时,其他项目将 Expand

见图

如果您需要使用约束,您有 activatedeactivate 然后调用 setNeedsLayout()