当对齐位于中心时,将垂直UIStackView保持在最小宽度

时间:2018-02-22 13:25:14

标签: ios ios-autolayout uistackview

如果我使用UIStackView轴和vertical对齐创建center,如何将width保持在最小可能值,即最宽的子视图?

我无法在其与其中一个子视图之间创建约束,因为我不知道哪个是最宽的。

当我使用常量10和中心水平约束为视图控制器的视图创建前导greater than or equal约束时,通常会发生这种情况。

在这种情况下,堆栈视图的宽度将等于视图控制器的宽度 - 20,而子视图将保留其宽度(例如,如果它们是标签,则保留其内在的内容大小)。

以下是一个例子:

A--------------+
| B----------+ |
| |   C--+   | |
| |   +--+   | |
| | D------+ | |
| | |      | | |
| | +------+ | |
| +----------+ |
+--------------+

其中A是视图控制器的视图,B是堆栈视图,CD是两个标签。

因此,它会在BD的左边距之间留下空隙。

我希望它看起来像这样:

A--------------+
|   B------+   |
|   | C--+ |   |
|   | +--+ |   |
|   D------+   |
|   |      |   |
|   +------+   |
|   +------+   |
+--------------+

B的宽度等于D的宽度,因为前导约束为greater than or equal严格equal

0 个答案:

没有答案