我们假设我们有一个UILabel
,它从各方面都固定在其超级视图上。 Lines
的数量设置为0(因此我们可以显示多行字符串),我们使用Truncate Tails
策略进行换行。
如果我们有单一,短行文字,这不会破坏行,那么padding / inset中的标签看起来很好:
使用多行文字时,会强制标签开始分割行,标注末尾会显示省略号,但人工填充/插入会添加到顶部/标签的底部。标签垂直膨胀,即使它仍然只显示一行文字:
约束:
换行符:
我已经尝试了
水平和垂直轴都将Content Hugging Priority
更改为1000
,因此UILabel的增长不会超过要求,但这并不能解决问题。
在不同的Line Breaks
策略(Clip,Character Wrap,Truncate,...)之间切换也无法解决问题。
我可以在Xcode 6
和Xcode 7 beta
,Interface Builder以及运行应用时重现此行为。
答案 0 :(得分:1)
看起来修复无意填充的唯一方法是将Lines
设置为常量(例如3)。 UILabel
仍将动态增长,并且不会添加任何填充。
答案 1 :(得分:0)
在界面构建器中看到它时遇到了同样的问题。但是,如果我只是运行它,模拟器的最终结果工作没有任何填充。
关键是你必须设置标签的backgroundColor
属性。
答案 2 :(得分:0)
在界面构建器中取消选中标签所需宽度的“显式”复选框为我解决了这个问题。