在Storyboard中将UIStackView添加为空容器

Luc*_*uke 12 interface-builder storyboard ios swift uistackview

我的愿望是在Storyboard中添加一个UIStackView,其高度为0,我在代码中引用以编程方式添加子视图.然而,Storyboard抱怨它没有高度(我没有设置它,所以它警告我是正确的).我只希望它作为其他视图的动态容器.我正在谈论的UIStackView作为子视图添加到另一个UIStackView中.

在此输入图像描述

它是"名称标签"下面的堆栈视图.

Sof*_*eda 14

  1. 选择要设置高度0的StackView
  2. 选择"大小"检查器
  3. 选择StackView的Intrinsic Size属性
  4. 将其更改为默认的占位符
  5. 现在改变StackView高度你想要的!! 甚至0.

在此输入图像描述


dfr*_*fri 1

您可以使用布尔.hidden属性隐藏内部堆栈视图。创建内部堆栈视图的出口,例如innerStackView,并在初始化时使用 隐藏它innerStackView.hidden = true,例如:

@IBOutlet weak var innerStackView: UIStackView!

override func viewDidLoad() {
    super.viewDidLoad()

    // ...

    innerStackView.hidden = true
}
Run Code Online (Sandbox Code Playgroud)

这将隐藏堆栈视图,即使它包含多个其他视图;因此,它可以充当隐藏的动态容器,并且您无需摆弄高度属性。如果您想再次显示视图,只需将.hidden属性位交换为innerStackView.hidden = false.