如果文本太长而无法在一行中显示,如何使用 Text() 进行换行? (类似于 UIKit 中的 lineBreakMode)
如果我输入长字符串,它只会在文本右侧添加“...”。
谢谢!
编辑:我尝试将其与 ScrollView 结合起来,以便在文本太长时能够滚动,但如果我添加 ScrollView ,它会忽略 .lineLimit()
代码:
ˋˋˋ
struct Homework: View {
var selectedWeek: String
var week: String = "10.-20."
var content: String = "" //Long string inside here
var body: some View {
NavigationView {
ScrollView(isScrollEnabled: true, alwaysBounceHorizontal: false, alwaysBounceVertical: true, showsHorizontalIndicator: false, showsVerticalIndicator: true, content: {
Text(content)
.lineLimit(nil)
})
.navigationBarTitle(Text(week))
}
}
}
ˋˋˋ
最佳答案
每当您想要在文本中包含特定行数时,都会使用 lineLimit API,您只需使用所需的行数调用此 API 即可。如果您不确定需要多少行,只需在参数中输入 nil 即可。
import SwiftUI
struct ContentView : View {
@State var demoText = "Start Typing"
var body: some View {
VStack {
TextField($demoText)
Text(demoText)
.lineLimit(nil)
}
}
}
关于swift - SwiftUI 中使用 Text() 换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56798026/