swift - Swift:如何强制 UIabel 占用剩余的可用空间
问题描述
我有一个 UIView 包含:
- UIButton: (contentMode = Aspect Fit)
- UILabel:(numberOfLines = 0, lineBreakMode = byWordWrapping, contentMode = Aspect Fill)
- UISwitch: ()
我希望 UILabel 的宽度和行数能够适应 UIButton 和 UILabel 的本地化文本的内容。
我应该如何进行?
预期行为:
____________________________________________________________________
| | | |
| UIButton | UILabel | UISwitch |
| | | | |
_________________________________v__________________________________
弗雷德
解决方案
您必须为其提供所需的约束,以使其符合您的喜好。您需要提供更多详细信息,以便我告诉您您想要的约束。根据当前信息,假设您的按钮和开关具有固定宽度,并分别固定在超级视图端的前导和尾随。然后检查以下约束
(1) 给标签的前导约束等于按钮的尾随约束
(2) 给标签的尾随约束等于开关的前导约束
(3) 给按钮的顶部和底部约束等于标签的顶部和底部约束
( 4)给你的开关的顶部和底部约束等于标签的顶部和底部约束
最后,为标签的 y 位置提供一个约束,一切顺利。
另一个潜在的解决方案是使用水平堆栈视图,这将节省很多这些约束。
推荐阅读
- javascript - filter an array of objects based on an object with an array as it's property value in react
- python - Custom ImageDataGenerator (Keras) for large Dataset and multi input
- python-3.x - (Beginner) Why does the temporary variable change in example 1, but not in example 2?
- github - Shield.IO license badges and Github. License badge not working
- node.js - Node Js Joi validation is not working for me
- api - 如何从 Flutter 中的 API 响应中获取标头
- python - Python:套接字不读取字节输入
- sql - 仅选择每组的最小值和最大值
- python - 无法将列表转换为数据框。不断收到错误“ValueError: Must pass 2-d input.shape=(1, 4, 5)”
- mysql - MySQL查询基于具有3个不同属性的id从另一个表中获取值信息