隐藏没有空格的视图

Hide view without whitespace

WPF包含Hidden(隐藏控件,但保留其在布局中占据的space)和Collapsed(不渲染控件,不保留白色space)

Swift 仅包含 isHidden 属性 (myView.isHidden = true)。 如何隐藏我的控件没有白色space?

如果您使用故事板和约束,我发现的一种巧妙方法是将消失视图的宽度或高度约束设置为 0。

举个例子:

@IBAction func onTapSquare(_ sender: Any) {
  let constraint = disappearingView.constraintForIdentifier(id: "example_width")
  constraint?.constant = 0
}

请注意,您必须自己编写 constraintForIdentifier 函数,您可以 copy/paste 来自我的视图扩展: Github link!

我创建了一个小示例项目,您可以在此处获取: Disappearing Constraint Example

如果视图之间有边距,可以用类似的方法将其设置为 0。祝你好运!

这是实际操作: