【发布时间】:2017-10-31 20:39:07
【问题描述】:
我在情节提要中有一个 stackview 设计,里面有 5 个视图,由 1 个按钮、一个带标签的小视图和一个按钮组成。像这样。
我想要的是删除其中一个视图,比如说带有橙色背景的视图。 我在 viewdidload 上试过这个
stackview.view2.isHiden = true
stackview.view2.removeFromSuperview()
这会删除视图和所有元素,但剩余部分不会按预期分发任何想法如何实现这一点
【问题讨论】:
-
预期结果是什么?我猜您希望其他项目占用所有可用空间并彼此相等。您是否尝试将堆栈视图的 Distribution 属性设置为“Fill Equally”?
-
这是预期的行为,但结果不是我所期望的那样,一个视图变得更宽,并且保持相同的大小但不是填充质量
-
您是否尝试过类似
stackView.setNeedsLayout()和/或stackView.layoutIfNeeded的操作?顺便说一句,如果你 removeFromSuperView 无论如何你都不需要隐藏。无论如何,您可以在删除视图后分享错误布局的屏幕截图吗?也许您没有为情节提要中的堆栈视图设置适当的约束和设置。
标签: swift io uistackview