13

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

在此处输入图像描述

它是“名称标签”下方的堆栈视图。

4

2 回答 2

18
  1. 选择要设置高度 0 的 StackView
  2. 选择尺寸检查器
  3. 选择 StackView 的 Intrinsic Size 属性
  4. 将其从默认更改为占位符
  5. 现在随心所欲地更改 StackView 高度!甚至 0。

在此处输入图像描述

于 2016-03-09T09:10:30.880 回答
1

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

@IBOutlet weak var innerStackView: UIStackView!

override func viewDidLoad() {
    super.viewDidLoad()

    // ...

    innerStackView.hidden = true
}

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

于 2015-12-30T23:52:09.320 回答