gpt4 book ai didi

SwiftUI : Using NavigationView leads to image and text gone

转载 作者:行者123 更新时间:2023-12-04 07:24:17 25 4
gpt4 key购买 nike

我要做的是..
如果我单击一个菜单,它会转到详细的菜单描述页面。
enter image description here
但似乎有些不对劲。代码如下。
[contentview.swift]

var body: some View {
VStack(alignment:.leading){
List{
Text("Menu")
.font(.title)
.fontWeight(.heavy)
ForEach(menu){ section in
Section(header: Text(section.name) , content: {
ForEach(section.items.indices)
{
index in ItemRow(item:section.items[index])
}
})
}
}.listStyle(GroupedListStyle())
}
}
[ItemRow.swift]
struct ItemRow: View {
let item: MenuItem
var body: some View {
VStack{
//NavigationView{
NavigationLink(destination: ItemDetail(item:item)) {
HStack{
Image(item.thumbnailImage)
VStack(alignment:.leading){
Text(item.name)
.font(.headline)
Text("$\(item.price)")
}
}
}
//}
}
}
}
我故意注释掉“NaviagationView”。
因为如果我激活与 NavigationNiew 相关的评论..
enter image description here
看?看起来很奇怪。我仍然想知道我做错了什么..
在添加导航代码之前,菜单显示在预览井上。
你能给我一些建议吗?
================================
我的问题已经解决了!
[ContentView.swift]
struct ContentView: View {
var body: some View {
ItemList()
}
}
[ItemList.swift]
struct ItemList: View {
var body: some View {
NavigationView{
VStack(alignment:.leading){
List{
Text("Menu")
.font(.title)
.fontWeight(.heavy)
ForEach(menu){ section in
Section(header: Text(section.name) , content: {
ForEach(section.items.indices)
{
index in
//ItemRow(item:section.items[index])

NavigationLink(destination: ItemDetail(item:section.items[index])) {
HStack{
Image(section.items[index].thumbnailImage)
VStack(alignment:.leading){
Text(section.items[index].name)
.font(.headline)
Text("$\(section.items[index].price)")
}
}
}

}
})
}
}.listStyle(GroupedListStyle())
}
}
}
}

最佳答案

通常只有一个 NavigationView在一个应用程序中。通常是最外面的View .
在这种情况下,将它放在 VStack 上方在 ContentView .
最常见的异常(exception)之一是工作表。

关于SwiftUI : Using NavigationView leads to image and text gone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68305245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com