SwiftUI 中使用 Text() 换行

Adr*_*art 6 swift swiftui

如果文本太长而无法在一行中显示,如何使用 Text() 进行换行?\n(类似于 UIKit 中的 lineBreakMode)

\n\n

如果我输入一个长字符串,它只会在文本的右侧添加 \xe2\x80\x9e...\xe2\x80\x9c 。

\n\n

谢谢!

\n\n

编辑:我尝试将其与滚动视图结合起来,以便在文本太长时能够滚动,但是如果我添加滚动视图,它会忽略 .lineLimit()

\n\n

代码:

\n\n

\xcb\x8b\xcb\x8b\xcb\x8b

\n\n
struct Homework: View {\n\nvar selectedWeek: String\nvar week: String = "10.-20."\nvar content: String = "" //Long string inside here\n\nvar body: some View {\n    NavigationView {\n        ScrollView(isScrollEnabled: true, alwaysBounceHorizontal: false, alwaysBounceVertical: true, showsHorizontalIndicator: false, showsVerticalIndicator: true, content: {\n            Text(content)\n               .lineLimit(nil)\n        })\n            .navigationBarTitle(Text(week))\n    }\n}\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xcb\x8b\xcb\x8b\xcb\x8b

\n

Sha*_*von 3

每当您想要文本中的特定行数时,都会使用 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)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)