SwiftUI 中 NavigationBarTitle 中的额外间距

Extra spacing in NavigationBarTitle in SwiftUI

我有一个细节视图显示的间距大得离谱,但我不明白为什么。

    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"])

附上两张图片。一个来自具有错误间距的模拟器,另一个来自 canvas 视图,没有。有任何想法吗?这可能只是一个 Xcode 错误。

Simulator Look Canvas View Look

canvas 不知道视图是否可以推送到 NavigationView 并正确显示。但是在运行时它被推送并且您也在详细视图中使用 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))
}