SwiftUI自动换行,用于多行文本单词连字问题

问题描述

SwiftUI Text面临以下问题: 在下面的示例中,SwiftUI将单词“ Amazement”分解为第一行的“ amazeme”和第二行的“ nt”。如何避免它,这不是错误吗?

我希望将“惊奇”一词写在一行上。 有没有修饰符可以允许这样做(不要分割单词或其他东西)?

尝试.allowsTightening,.fixedSize。更改了修饰符的顺序,无济于事。

错误还是我们目前没有解决此问题的选项? 该解决方案应该适用于每个字符串,而不仅适用于所提到的字符串。

您可以使用以下代码复制行为:

 struct TestView2: View {
    var body: some View {
        ZStack {
        Text("Amazement Awaits us at every corner")
           
            .font(.system(size: 160))
            .foregroundColor(.blue)
            .foregroundColor(.white)
            .lineLimit(4)
            .multilineTextAlignment(.leading)
            .minimumScaleFactor(0.01)
            //.allowsTightening(true)
            //.fixedSize(horizontal: false,vertical: true)
      
        }
    }
}
    
    struct TestView2_Previews: PreviewProvider {
        static var previews: some View {
            TestView2()
        }
    }

Example of Text hyphenation problem

解决方法

尽管我没有找到有关此修复程序的任何逻辑原因,但似乎您需要进行调整

 .lineLimit(3)

enter image description here

播放最适合您的lineLimit值。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...