如何确保 SwiftUI 中带有符号的单词不会分成两行?

问题描述 投票:0回答:1

我正在使用 SwiftUI 显示

TextView
。它显示的文本是“McDonnell Douglas F/A-18 Hornet”。它的两个字母“F”和“A”之间有一个“/”。现在,文本被分成两半,其中“第一行是 McDonnell Douglas F/”,第二行是“A-18”。

这就是现在正在发生的事情:

我想要这个:

我的代码:

import SwiftUI

struct ContentView: View {
    var body: some View {
        GeometryReader { g in
                Text("McDonnell Douglas \nF/A-18")
                    .font(.system(size: g.size.width * 1 / 20))
                    .frame(width: g.size.width / 2)
                    .border(.black)
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

注意:我知道

\n
可以用于换行符,但这不适用于我的情况,因为不同设备的屏幕尺寸会有所不同,而且我不知道换行符将位于哪里。谢谢!

swift swiftui textview
1个回答
0
投票

您可以使用 Unicode 字符 U+FEFF ZERO WIDTH NO-BREAK SPACE 表示不能换行。

Text("McDonnell Douglas F\u{FEFF}/\u{FEFF}A-18")
© www.soinside.com 2019 - 2024. All rights reserved.