在SwiftUI中使用Text()换行

时间:2019-06-27 20:21:00

标签: swift swiftui

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

如果我输入一个长字符串,它只会在文本的右侧添加“ ...”。

谢谢!

编辑:我尝试将其与滚动视图结合使用,以便在文本过长时进行滚动,但是如果添加滚动视图,它将忽略.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))
    }
}
}

ˋˋˋ

1 个答案:

答案 0 :(得分:0)

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)
        }
    }
}