如何在Xcode 15中设置水平堆栈视图的高度?

v2g6jxz6  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(114)

我是iOS开发的新手,我在使用堆栈视图方面遇到了一些问题,这在早期版本的Xcode中似乎不是问题,或者可能是我的过程。如果我在屏幕上有4个对象,我将它们嵌入到水平堆栈视图中,它会将所有对象缩小到自己选择的大小,虽然我可以更改宽度并将其设置为相等填充,它只是将物体隔开,而不是拉伸它们,而且没有办法设置高度。这是怎么回事?
我希望堆栈视图保持它开始时的大小,对象只是嵌入其中。我希望能够在需要时调整堆栈视图中对象的大小。我希望能够设置堆栈视图的高度。实际发生的是,一旦对象嵌入堆栈视图,整个东西的大小调整到原始大小的一小部分,但堆栈视图的高度属性变灰。

vlju58qv

vlju58qv1#

UIStackView * 根据子视图内部内容大小、子视图大小约束、堆栈视图对齐和分布属性、堆栈视图本身的约束设置等来排列其子视图 *。
设置哪些约束和设置哪些属性将取决于您的最终布局目标。
例如,看看你的第一个屏幕截图(我假设这是4个按钮),当设备旋转时会发生什么?
保持按钮的大小和间距相同,水平居中:


的数据
保持前导和尾随相同,并将按钮展开:



保持前导和尾随相同,保持间距相同,保持按钮1:1的比例......并缩放项目以适应宽度:



在你的问题中,你只描述了你看到的事情,而不是你希望发生的事情,所以让我们从简单的开始。
我们希望:

  • 4个按钮,每个60x60
  • 2点水平间距
  • 使堆栈视图水平居中
  • 堆栈顶部视图,距安全区域顶部80个点

下面是我们将得到的约束:



所以...

  • 我们将按钮1的宽度约束设置为60
  • 给予按钮1 1:1的比例约束
  • 将堆栈视图“顶部”约束为“安全区域顶部+ 80”
  • 约束堆栈视图水平居中

我们在堆栈视图上设置这些属性:

UIStackView是一个非常强大的布局工具。理解它的最好方法是使用它。前往Google(或您最喜欢的搜索引擎)搜索UIStackView tutorial.

相关问题