我写了一个使用本地化字符串的应用程序。我使用情节提要绘制UIControllers,并将UILabels出口引用到源代码。我更改了 viewWillAppear 中的文本,以将本地化字符串分配给 UILabel.text 。
我在情节提要中的标签已输入带有正确自动换行的默认字符串。但是,当我在viewWillAppear中更改标签的文本时,字符串会将单词包装在错误的位置。
我已将UILabel设置为0numbersOfLine,LineBreak模式是自动换行,无法创建标签高度...
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// TEXT
commentLabel.text = "*Please connect both devices to the same Wi-Fi network."
}
在带有默认字符串的情节提要中,它看起来像:
但是在viewWillAppear中更改文本后,它将显示如下:
“相同”将被分为“ sa”和“ me”!
有人可以帮我吗?
- 更新:
两岸。 “正在加载文本”是“连接到%Device Name%”
- 更新:
如果我不更改viewWillAppear中的文本,则显示为正常,如下所示。所以我认为约束或布局可能不是问题吗?
答案 0 :(得分:1)
只需确保已设置这些内容,即可使用自动换行使其多行显示
首先请确保您没有为标签或超级视图添加任何固定高度限制
第二,确保将Number of lines
设置为0
从Work wrap
选项中选择Line break
选项,如果字体的大小大于其框架,则还允许Autoshrink
,以便字体将自动调整为最小尺寸。
注意:您还可以添加
"\n"
以从新行开始
commentLabel.text = "*Please connect both devices to the \n same Wi-Fi network."
答案 1 :(得分:0)
设置前导和尾随约束,并为其添加固定的宽度和高度,考虑到其为硬编码标签。您可以使用以下链接以编程方式对其进行修复。
https://newfivefour.com/swift-ios-add-view-programmatically-autolayout-NSLayoutConstraint.html
答案 2 :(得分:0)
确保您已正确添加约束,尤其是标签的底部约束到视图底部。
答案 3 :(得分:0)
答案 4 :(得分:0)
如果没有约束错误,则结果没有意义。
因此,在设计界面中,iPhone XS与真实的模拟器或iPhone XR中的界面不同。请确保两者相同,以便您所获得的就是您设计的东西。