swift - 如何从 SwiftUI 中的导航栏按钮单击导航到新视图
问题描述
学习 SwiftUI。尝试从单击的导航栏按钮导航到新视图。
下面的示例代码:
var body: some View {
NavigationView {
List(0...< 5) { item in
NavigationLink(destination: EventDetails()){
EventView()
}
}
.navigationBarTitle("Events")
.navigationBarItems(trailing:
NavigationLink(destination: CreateEvent()){
Text("Create Event")
}
)
}
}
解决方案
三个步骤让这对我有用:首先添加一个@State Bool
来跟踪新视图的显示:
@State var showNewView = false
添加 navigationBarItem,并使用设置上述属性的操作:
.navigationBarItems(trailing:
Button(action: {
self.showNewView = true
}) {
Text("Go To Destination")
}
)
最后在您的视图代码中的某处添加一个导航链接(这依赖于在视图堆栈中的某处也有一个 NavigationView)
NavigationLink(
destination: MyDestinationView(),
isActive: $showNewView
) {
EmptyView()
}.isDetailLink(false)
推荐阅读
- ffmpeg - 如何使用ffmpeg廉价地“撤消”马赛克(即将图像分成两半或象限)?
- node.js - 在 docker 容器中提供响应应用程序时出现 404
- google-apps-script - Google Docs 中的 body.replaceText() 问题
- reactjs - React Hook useEffect 缺少依赖要么包含它要么删除依赖数组 react-hooks/exhaustive-deps
- python-3.x - 提取数据有额外的信息
- python - 如何总结两个函数的值?
- c++ - 使用 foreach 循环连续迭代两个结构的简单方法
- javascript - 在 React 中创建浏览器站点历史记录
- c# - 动态实时图形计算
- asp.net - 从我的 ASP.NET 应用程序获取当前位置(纬度和经度)