文本视图的 lineBreakMode 是否有等效的 SwiftUI?

Eug*_*ene 16 swiftui

我有一个文本视图,我想将其配置为包装第一个不适合的字符。在 UIKit 中,这相当于设置label.lineBreakMode = .byCharWrapping。SwiftUI Text 已经实现了吗?我在Text 的文档中找不到任何内容。

我想这样做的原因是我要向用户显示很长的代码,因此按字符而不是按单词换行是可取的。

Rya*_*yan 3

不确定这是否有帮助,但我使用以下内容会导致长单词被字符包裹:

Text("Supercallifragilisticexpialidocious")
    .font(.system(size: 100))
    .minimumScaleFactor(0.01)
    .lineLimit(3)
    .multilineTextAlignment(.leading)
Run Code Online (Sandbox Code Playgroud)

不幸的是,对于我的用例,我不希望文本按字符换行。如果我设置 lineLimit(1) 效果很好,并且字体大小会减小以将文本保持在 1 行上。但是,如果 Text 是多个单词,例如 Text(“在各方面都非常完美”),那么我希望字符串由单词包裹。我似乎无法同时获得多个单词的自动换行和长单词的字体缩放。