我想获得用户的标题,并添加评论,例如instagram在swiftUI中具有的功能。但是以某种方式,评论总是被截断。
我已经尝试使用.lineLimit(nil)
,但是没有用。
HStack(alignment: .top) {
Text(post.user.username).font(.subheadline).fontWeight(.bold)
Text(post.description).font(.subheadline).fontWeight(.light)
.lineLimit(nil).multilineTextAlignment(.leading)
}
我希望它像这样。
答案 0 :(得分:3)
为了在一行上具有两个Text
对象,并具有多个样式选项,将它们包装到新行上,您需要创建多个对象并将它们组合为一个。
所以拿两个Text
对象,
Text(post.user.username).font(.subheadline).fontWeight(.bold)
Text(post.description).font(.subheadline).fontWeight(.light)
.lineLimit(nil).multilineTextAlignment(.leading)
我们将使用reduce
来组合它们。
func combineTextObjects(_ objects: [Text]) -> Text{
return objects[1...].reduce(objects[0], +)
}
像这样称呼combineTextObjects
:
HStack(alignment: .top) {
combineTextObjects([
Text(post.user.username).font(.subheadline).fontWeight(.bold),
Text(post.description).font(.subheadline).fontWeight(.light)
.lineLimit(nil).multilineTextAlignment(.leading)
])
}
答案 1 :(得分:1)
将.fixedSize(水平:false,垂直:true)添加到文本