当设备旋转后按比例和水平轴填充时,带有表情符号字符的 UIStackView 标签无法正确呈现

UIStackView's labels with emoji characters are not rendered properly when filled proportionally and horizontal axis after device rotates

我有 UIStackView 和两个 UIlabels 垂直 轴和 按比例填充 分布和对齐 中心。其中之一包含表情符号字符。

这是纵向模式下的样子:

当设备旋转时,我将轴更改为水平,并将对齐方式更改为第一基线。这是旋转后的样子:

当标签不包含表情符号字符时一切正常:

问题的根源在哪里?

确保带有表情符号的标签的约束条件之一是 "height"。如果其中一个约束已经是 "height",请尝试使较大的高度。

答案在下面的方法中,应该添加到controller中:

override func traitCollectionDidChange(previousTraitCollection: UITraitCollection?) {
    view.layoutSubviews()
    view.layoutIfNeeded()
}