自动布局 - UILabel 在方向更改后宽度缩小,这是由另一个应该自动调整字体大小的 UILabel 引起的

Posted

技术标签:

【中文标题】自动布局 - UILabel 在方向更改后宽度缩小,这是由另一个应该自动调整字体大小的 UILabel 引起的【英文标题】:Autolayout - UILabel shrinks in width after orientation change, cause by another UILabel which is supposed to auto-adjust font size 【发布时间】:2018-02-08 14:03:17 【问题描述】:

我有 2 个UILabel 水平并排使用自动布局,如下所示:

    1st-Label 为全角(如 sizeToFit) 2nd-LabeladjustsFontSizeToFitWidth = true

在启动时一切都很好,当从横向返回纵向时,第一个标签缩小到零宽度。

约束如下:

第一个标签:H:|-0-[1stLabel]V:[1stLabel]-0-| 第二个标签:H:[2ndLabel]-0-|, V:[2ndLabel]-0-| 前导/尾随关系约束: H:[1stLabel]-(>=1)-[2ndLabel]

【问题讨论】:

【参考方案1】:

将标签1的抗压优先级设置为1000

【讨论】:

【参考方案2】:

我错过了在 2nd-Label 上设置 ContentCompressionResistancePriority:

secondLabel.setContentCompressionResistancePriority(.defaultLow, for:.horizontal)

【讨论】:

以上是关于自动布局 - UILabel 在方向更改后宽度缩小,这是由另一个应该自动调整字体大小的 UILabel 引起的的主要内容,如果未能解决你的问题,请参考以下文章