我正在使用SwiftUi中的一个非常简单的应用程序,我设法为我的列表创建了一个导航button,将我带到了deleteviewViewController。在右上角,我想拥有一个" "按钮以将内容添加到我的列表中:
navigationBarItems(trailing:
NavigationButton(destination: DetailVC()) {
Image(systemName: "plus")
.resizable()
.frame(width: 20, height: 20)
}
)
问题是,当我点击按钮时,它不会导航到我的详细信息。
我也尝试过:
.navigationBarItems(trailing:
PresentationButton(destination: DetailVC()) {
Image(systemName: "plus")
.resizable()
.frame(width: 20, height: 20)
}
)
使用此代码,问题是它不会带有" back"按钮,但它是从底部显示的,并且无法返回我的ContentView
在导航栏中要正确导航的正确项目是什么?
谢谢,nico
在swiftui中,您使用avarigationbutton导航您的应用程序。
只需用NavigationButton
替换您的PresentationButton
:
.navigationBarItems(trailing:
NavigationButton(destination: DetailVC()) {
Image(systemName: "plus")
.resizable()
.frame(width: 20, height: 20)
}
)
苹果文档:
https://developer.apple.com/documentation/swiftui/navigationbutton (已弃用(
编辑:
NavigationButton
被弃用,因此不应再使用它。
相反,有一个NavigationLink
视图,该视图应起作用。这个结构是新的,我还无法测试它,但是按钮本身的代码应该看起来像这样:
NavigationLink(destination: DetailVC()) { }
苹果文档:
https://developer.apple.com/documentation/swiftui/navigationlink
我做了示例以显示列表和详细信息。希望此示例应用程序能为您提供帮助。
https://github.com/shiju86/listviewswiftui
是的,NavigationButton已不复存在,而不是这个Apple为我们提供NaviaGtionLink。
navigationLink应该是如何做到这一点。但是,在iOS 13.2和13.3中,当在标题内使用时,这似乎是损坏/不可靠的(并且完全打破了我的应用程序:我通过将导航链接移出标头并使其他东西成为模态来弄清楚工作。
在标准视图本身中,它可以更好地工作(但仍然与怪癖(。荒谬的是,您可能需要考虑使用模态而不是孩子视图,因为这实际上是有效的。