在文本中添加无限行(SwiftUI)
Adding unlimited lines in a Text (SwiftUI)
只是弄清楚如何在 Text
中实现多行文本。似乎 Text
与 UILabel
具有相同的默认值(一行),但我找不到任何符合此条件的函数。
struct ContentView : View {
var body: some View {
VStack(alignment: .leading, spacing: 10) {
HStack {
Text("Avocado Toast").font(.system(size: 24))
}
// This Text does cut, and I wonder how I can achieve multiple rows
Text("Ingredients: Avocado, Almond Butter, Bread")
.font(.system(size: 20))
}
}
}
编辑
.lineLimit(X)
,成功了。但是,是否可以不设置特定数量,例如。只有一个 0?
使用.lineLimit()
限制文本行数。它接受一个可选的 Int (Int?
) 作为参数,.lineLimit(nil)
允许无限行。
编辑:从 SwiftUI Beta 5 开始,Text
的默认行数限制为 nil
,因此 Text
中的文本将换行默认情况下。
在表单中包装文本 .lineLimit(Int.max)
对我不起作用。似乎需要一些宽度才能知道何时换行。我相信官方的方式是 .fixedSize
:
Text(message)
.fixedSize(horizontal: false, vertical: true)
文档指出:
This example shows the effect of fixedSize(horizontal:vertical:) on a text view that is wider than its parent, preserving the ideal, untruncated width of the text view.
https://developer.apple.com/documentation/swiftui/view/fixedsize(horizontal:vertical:)
即使没有应用行限制,我的文本也一直被截断。将我的内容包装在 ScrollView {}
中解决了它。
如果 lineLimit(nil) 不适合您,请尝试手动将 layoutPriority 设置为适合您的值 .layoutPriority(0.5)
Text("Professional Burnout and how to overcome it")
.font(.callout)
.fixedSize(horizontal: false, vertical: true)
.frame(width: 220)
None 之前的答案对我有用,但 .lineLimit(Int.max)
成功了。
只是弄清楚如何在 Text
中实现多行文本。似乎 Text
与 UILabel
具有相同的默认值(一行),但我找不到任何符合此条件的函数。
struct ContentView : View {
var body: some View {
VStack(alignment: .leading, spacing: 10) {
HStack {
Text("Avocado Toast").font(.system(size: 24))
}
// This Text does cut, and I wonder how I can achieve multiple rows
Text("Ingredients: Avocado, Almond Butter, Bread")
.font(.system(size: 20))
}
}
}
编辑
.lineLimit(X)
,成功了。但是,是否可以不设置特定数量,例如。只有一个 0?
使用.lineLimit()
限制文本行数。它接受一个可选的 Int (Int?
) 作为参数,.lineLimit(nil)
允许无限行。
编辑:从 SwiftUI Beta 5 开始,Text
的默认行数限制为 nil
,因此 Text
中的文本将换行默认情况下。
在表单中包装文本 .lineLimit(Int.max)
对我不起作用。似乎需要一些宽度才能知道何时换行。我相信官方的方式是 .fixedSize
:
Text(message)
.fixedSize(horizontal: false, vertical: true)
文档指出:
This example shows the effect of fixedSize(horizontal:vertical:) on a text view that is wider than its parent, preserving the ideal, untruncated width of the text view.
https://developer.apple.com/documentation/swiftui/view/fixedsize(horizontal:vertical:)
即使没有应用行限制,我的文本也一直被截断。将我的内容包装在 ScrollView {}
中解决了它。
如果 lineLimit(nil) 不适合您,请尝试手动将 layoutPriority 设置为适合您的值 .layoutPriority(0.5)
Text("Professional Burnout and how to overcome it")
.font(.callout)
.fixedSize(horizontal: false, vertical: true)
.frame(width: 220)
None 之前的答案对我有用,但 .lineLimit(Int.max)
成功了。