我有一个UITableViewCell
,其中包含一些UILabel
,我希望此标签水平填充UITableViewCell
的宽度,并且不会保留大空间而不是其他空间,这是一个例子:
|---------------------------------------------------------
| |
|***This is a uilabel***This is a uilabel***label***lb** |
| |
|---------------------------------------------------------
因此,对于UILabel
宽度不同,我希望所有UILabel
填充所有UITableViewCell
修复字体大小(如果需要),*是间距,我如何通过自动实现此目的布局?
答案 0 :(得分:5)
最左边的标签:在其超级视图中添加前沿约束和中心Y约束
中间标签:将水平间距和中心Y约束添加到上一个标签。
最右边的标签:将水平间距和中心Y约束添加到上一个标签加上一个后边缘约束到superview。
这些约束确保标签之间和左右两侧的间隙大小固定,并且它们都在其超视图中居中。由于没有宽度约束,布局系统将尝试调整它们的大小以适合其内容。 但这留下了歧义......
上述限制仍然含糊不清 -
第一个问题的答案是具有最低水平内容拥抱优先级的标签。默认情况下,它们都具有相同的功能,因此请确保它们具有不同的水平内容,包含优先级。
第二个问题的答案是具有最低水平内容压缩阻力优先级的标签。默认情况下,它们都具有相同的功能,因此请确保它们具有不同的水平内容压缩阻力优先级。
我们现在有一个明确的布局。但默认情况下,如果标签没有空间显示,标签将截断其内容。在标签上将自动收缩设置为最小字体比例或最小字体大小,以确保它们调整字体大小以适合其内容而不是截断它。< / p>