【发布时间】:2019-11-13 04:22:11
【问题描述】:
我正在尝试使用 Apple 的 SwiftUI 制作一个应用程序,我需要有两个按钮在单个 List 行中呈现两个不同的视图。
我使用 Xcode beta 7 和 MacOS Catalina beta 7。我尝试添加一个显示视图的Button,但是我无法单击它,当我在List 之外尝试一个简单的Button 并单击它时,AddList() 视图没有出现.我也尝试在navigationButton 中添加navigationButton,但它也没有奏效。添加tapAction也不起作用,当你点击它时,视图仍然没有出现
NavigationView {
List(0..<5) { item in
NavigationLink(destination: ContentOfList()) {
Text("hello") // dummy text
Spacer()
Text("edit")
.tapAction {
AddList() // This is the view I want to present
}
}
}.navigationBarItems(trailing: NavigationLink(destination: AddList(), label: { // doesn't work within navigationBarItems
Image(systemName: "plus.circle.fill")
}))
}
我希望 AddList() 视图会出现,但在这两种情况下,它不会出现。
【问题讨论】:
-
我所说的“现在”是用 AddList() 视图替换默认视图。就像您通常使用 NavigationButton 所做的一样。所以正如你所说,我的目标是导航到不同的界面。正如我所写的,我也尝试在 navigationButton 中添加一个 navigationButton 但它没有用。我的问题可能不清楚,我想要做的是,单击“编辑”按钮时,导航到不同的界面(AddList() 界面),当我单击行中的其他位置时,导航到“ ContentOfList()' 接口。
-
谢谢,您知道如何解决在 navigationButton 中添加 navigationButton 的问题吗?
-
@matt 实际上可以使用 DynamicNavigationDestinationLink。我在下面发布了我的答案。
-
我认为他们终于在 Beta 5 中做到了。请参阅下面的答案。
标签: swift swiftui swiftui-navigationlink