SwiftUI中NavigationBarTitle中的额外间距

时间:2019-06-19 05:52:00

标签: swift 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"])

附有两个图像。一种来自错误间距的模拟器,另一种来自画布视图,没有。有任何想法吗?可能只是Xcode的错误。

Simulator Look Canvas View Look

1 个答案:

答案 0 :(得分:0)

画布不知道是否可以将视图推送到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))
}