设置:
我有 2 个这样设置的标签:
橙色包含 View :
- 固定宽度和高度
左标签:
- 顶部、左侧和底部约束 == 8 到橙色 View
- 右约束 >= 8 到右标签
- Horizontal Content Hugging 不变 (251)
- 水平压缩阻力不变 (750)
- 自动将字体缩小到最小比例 0.5
右标签:
- 顶部、右侧和底部约束 == 8 到橙色 View
- Left constraint >= 8 to Left Label
- Horizontal Content Hugging 不变 (251)
- 水平压缩阻力不变 (750)
- 自动将字体缩小到最小比例 0.5
我想要发生的事情:
当标签文本变长时,两个标签的字体在截断前一起缩小到最小字体比例(或大小)。
实际发生了什么:
只有 1 个标签的字体会自动缩小然后截断,我收到一个约束投诉,要求将其中一个标签的抗压性设置得比另一个高。即使满足该约束条件,两个标签的字体也不会自动缩小。
问题:
有没有办法通过自动布局或代码让两个标签的字体先缩小,然后在需要时截断?谢谢。
最佳答案
使用 Xcode 9.2 自动布局,这对我来说是自动的。
我在一个 View 中有两个标签。此 View 受限于 UITableViewCell。
左标签:
- leftLabel.top = 顶部
- leftLabel.leading = leading
- leftLabel.bottom = 底部
- rightLabel.trailing = leftLabel.trailing + 8
- leftLabel 拥抱优先级 = ( 251, 251 )
- leftLabel 抗压优先级 = ( 750, 750 )
- 字体大小为 20,自动收缩设置为最小字体大小 12
- 标签的行数 = 1
右标签:
- rightLabel.trailing = leftLabel.trailing + 8
- rightLabel.top = 顶部
- rightLabel.trailing = trailing
- rightLabel.bottom = 底部
- rightLabel 拥抱优先级 = ( 252, 251 )
- rightLabel 抗压优先级 = ( 750, 750 )
- 字体大小为 20,自动收缩设置为最小字体大小 12
- 标签的行数 = 1
当 labelLeft 和 labelRight 的文本字符串较短时,它们之间的间距较大。当这些字符串很长时,它们之间的间距很小(正好接近 8)并且两种字体都同样缩小了。
关于ios - (iOS) 同时自动收缩 2 个相互约束的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44190564/