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))
}
我有一个细节视图显示的间距大得离谱,但我不明白为什么。
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))
}