首页 > 解决方案 > Swift:如何强制 UIabel 占用剩余的可用空间

问题描述

我有一个 UIView 包含:

我希望 UILabel 的宽度和行数能够适应 UIButton 和 UILabel 的本地化文本的内容。

我应该如何进行?

预期行为:

____________________________________________________________________
|          |                                            |          |
| UIButton |                 UILabel                    | UISwitch |
|          |                     |                      |          |
_________________________________v__________________________________

弗雷德

标签: swiftuilabelinterface-builder

解决方案


您必须为其提供所需的约束,以使其符合您的喜好。您需要提供更多详细信息,以便我告诉您您想要的约束。根据当前信息,假设您的按钮和开关具有固定宽度,并分别固定在超级视图端的前导和尾随。然后检查以下约束

(1) 给标签的前导约束等于按钮的尾随约束
(2) 给标签的尾随约束等于开关的前导约束
(3) 给按钮的顶部和底部约束等于标签的顶部和底部约束
( 4)给你的开关的顶部和底部约束等于标签的顶部和底部约束

最后,为标签的 y 位置提供一个约束,一切顺利。

另一个潜在的解决方案是使用水平堆栈视图,这将节省很多这些约束。


推荐阅读