【问题标题】:iOS: Can't change a width in a horizontal stackviewiOS:无法更改水平堆栈视图中的宽度
【发布时间】:2018-03-20 15:59:18
【问题描述】:

我开始使用 iOS 应用程序并创建一个表格视图。在我的桌子上,我有一个像这样的单元格。

现在我需要将水平堆栈视图与星星垂直和水平居中。此堆栈视图具有固定的宽度和高度。

它必须看起来像这样。

为此,我将它放在另一个水平堆栈视图中。我尝试添加与label 相同的约束

问题是这个外部堆栈视图不像标签那样伸展。我还看到它的宽度和高度是灰色的,我无法更改它们。为什么?

【问题讨论】:

  • 你不能水平居中 StackView 吗?
  • 请发布该堆栈视图的属性检查器的屏幕截图
  • 不要将你的“星”堆栈视图放在另一个堆栈视图中。删除前导和尾随约束,并简单地将其“水平居中”约束到其上方的标签。

标签: ios uistackview stackview


【解决方案1】:

有很多方法可以自动布局。

我认为您应该更好地了解 StackViews 以备将来使用。 我建议阅读这些资源:

为了实现你所需要的:

  1. 仅使用 1 个包含星星的水平 StackView。水平居中将stackview约束到标签。

  2. 使用 2 个 StackView 并保持约束。外层stackview,改为垂直轴居中对齐。

属性检查器中的方法2图像(cmd + option + 4):

【讨论】:

  • "方法2" 一个选项,但是使用堆栈视图来对齐一个元素确实是错误的方法。
  • 两种布局都有优点。选项 1 取决于标签的布局。如果标签上的约束中断(尽管不太可能),它也会弄乱星星的布局。 Stackviews 很便宜,因为它只是一个转换层。
猜你喜欢
  • 1970-01-01
  • 2019-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多