gpt4 book ai didi

swiftui - 与其他内容一起放入 HStack 时,文本只有一行(SwiftUI 列表)

转载 作者:行者123 更新时间:2023-12-04 14:40:49 25 4
gpt4 key购买 nike

我试图显示项目列表。每一行都应该在左侧包含一个特定颜色的条纹和一个标题。这个标题有时超过一行,但只显示为一行和“...”。当我删除条纹时,它显示为多行文本。我附上了代码和两张图片进行比较

这是我的代码:

HStack {
Rectangle()
.foregroundColor(poll.outcome ? .green : .red)
.frame(width: 3)
VStack {
Text(poll.poll.title!).font(.headline)
.lineLimit(2)
}
}

这是没有矩形的样子:
Without Rectangle

和矩形:
Without Rectangle

最佳答案

在 List 或 ScrollView 中,SwiftUI 引擎将压缩文本区域。 .lineLimit(x) 给你最大行数,而不是最小行数;)
为了确保引擎不会收缩文本高度并上升到最大限制,添加 .fixedSize(horizo​​ntal: false, vertical: true) 如下所示

HStack {
Rectangle()
.foregroundColor(.red)
.frame(width: 3)
VStack {
Text("line1\nline2\nline3").font(.headline)
.lineLimit(2)
.multilineTextAlignment(.leading)
.fixedSize(horizontal: false, vertical: true)
}
}

关于swiftui - 与其他内容一起放入 HStack 时,文本只有一行(SwiftUI 列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57838532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com