SwiftUI中的NavigationBarTitle存在额外的间距问题

3
我有一个详细视图,显示时有大量间距,但我无法找出原因。
    struct MessageDetailView : View {
    var friend: Friend
    var body: some View {
        NavigationView {
            List {
                ForEach(0..<friend.messages.count) { message in
                    Text(self.friend.messages[message])
                        .modifier(textBubbleModifier())
                }
                }.navigationBarTitle(
                    Text(self.friend.name))
        }
    }
}

Friend结构体非常简单:

struct Friend: Identifiable {
    var id = UUID()
    var name: String = ""
    var messages: [String] = [""]
}

let friends: [Friend] = [
    Friend(name: "Mark Zuckerberg", messages: ["Let's keep things private between you and I, shall we?", "I can keep a secret", "I definitely won't sell all your data"])

以下是两张图片,一张是模拟器中出现错误空格的截图,另一张则是正常的画布视图。有何建议?可能只是Xcode的一个bug。

模拟器截图 画布视图截图

1个回答

2
画布不知道视图是否会被推入NavigationView中并正确显示。但在运行时,它被推入,您在详细视图中也使用了NavigationView。尝试从详细视图的正文中取消包装您的内容。因此,它将如下代码所示:
var body: some View {
  List {
    ForEach(0..<friend.messages.count) { message in
      Text(self.friend.messages[message])
        .modifier(textBubbleModifier())
    }
    }.navigationBarTitle(
      Text(self.friend.name))
}

谢谢Mo,解决了! - mg_berk

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