如果我使用UIStackView
轴和vertical
对齐创建center
,如何将width
保持在最小可能值,即最宽的子视图?
我无法在其与其中一个子视图之间创建约束,因为我不知道哪个是最宽的。
当我使用常量10和中心水平约束为视图控制器的视图创建前导greater than or equal
约束时,通常会发生这种情况。
在这种情况下,堆栈视图的宽度将等于视图控制器的宽度 - 20,而子视图将保留其宽度(例如,如果它们是标签,则保留其内在的内容大小)。
以下是一个例子:
A--------------+
| B----------+ |
| | C--+ | |
| | +--+ | |
| | D------+ | |
| | | | | |
| | +------+ | |
| +----------+ |
+--------------+
其中A
是视图控制器的视图,B
是堆栈视图,C
和D
是两个标签。
因此,它会在B
和D
的左边距之间留下空隙。
我希望它看起来像这样:
A--------------+
| B------+ |
| | C--+ | |
| | +--+ | |
| D------+ |
| | | |
| +------+ |
| +------+ |
+--------------+
B
的宽度等于D
的宽度,因为前导约束为greater than or equal
,不严格equal
。