如何在SwiftUI中实现多行文本视图

5

我希望能用SwiftUI实现像Instagram一样的用户标题和评论,但评论总是被截断。

img

我已经尝试使用.lineLimit(nil),但没有起作用。

HStack(alignment: .top) {
    Text(post.user.username).font(.subheadline).fontWeight(.bold)
    Text(post.description).font(.subheadline).fontWeight(.light)
        .lineLimit(nil).multilineTextAlignment(.leading)
}

我期望它是这样的。 ig

如果评论数组占用的屏幕空间超过了可用空间,建议使用ScrollView。 - nasoj1100
3个回答

11
在文本中添加 .fixedSize(horizontal: false, vertical: true) 。

3
为了在同一行上具有两个具有多个样式选项的

尝试了一下,它起作用了。不幸的是,当我使用相同的方法添加了“注释”后,它突然又不起作用了。 - Adya Naufal Fikri
如果您添加了其他破坏此功能的代码,那很可能是其他代码引起的问题,而不是这段代码。我在我的应用程序中使用它。 - Will
尝试这个时出现错误:无法将类型为“some View”的值转换为预期的元素类型“Text”。 - neptune
@neptune,它们必须不是正确的文本对象,或者您遇到了其他错误,SwiftUI 报告了错误。 - Will

2
您可以使用()将多个文本视图组合起来,并将多行对齐放在()之外... 希望这能帮到您。
(
Text("More than ")
.font(.custom(FontManager.avenirRegular, size: 11)) +
                                        
Text("100 of your friends")
.font(.custom(FontManager.avenirDemiBold, size: 14)) +
                                        
Text(" have recently joined in your app!")
.font(.custom(FontManager.avenirRegular, size: 11))
)
.multilineTextAlignment(.leading)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接