我有两个UILabel
s:名称和说明。约束设置如下:
当我运行程序时,不一致,有时名称会被截断,有时描述会被截断。
答案 0 :(得分:0)
您可以尝试为左手标签(lbl1
)设置最小宽度约束,然后将约束连接到ViewController
中的IBOutlet。
然后在加载或willAppear或任何其他相关操作上,确定lbl1
的最小宽度并将其设置为约束常量。
然后在视图出现之前,它应该将右侧标签更新为正确的宽度而不截断左侧的标签。
有关确定标签尺寸的参考,请参阅以下答案: https://stackoverflow.com/a/19128912/933887
答案 1 :(得分:0)
您可以使用此属性来减小字体大小不是iss set
答案 2 :(得分:0)
解决此问题的正确方法是更改其中一个标签的内容拥抱优先级。默认情况下,此设置为251。只需将标签的内容拥抱优先级之一更改为250或252,具体取决于您希望“拥抱”它的方式。
在code中:
func setContentHuggingPriority(_ priority: UILayoutPriority,
for axis: NSLayoutConstraint.Axis)
或界面生成器:
如果需要有关此主题的更多信息,请查看此帖子:https://medium.com/@abhimuralidharan/ios-content-hugging-and-content-compression-resistance-priorities-476fb5828ef