我希望能够在我的一个视图上按下按钮时显示一个新视图。
从我看过的教程和这里的其他回答问题来看,似乎每个人都在导航视图中使用导航按钮,除非我误认为导航视图是在我的应用程序顶部给我一个菜单栏右箭头的那个,所以我没有不想要那个。当我将导航按钮放在不是 NavigationView 子项的视图中时,它只是在 UI 上被禁用,我无法单击它,所以我想我不能使用它。
我见过的其他示例似乎使用了演示链接/按钮,它们似乎显示了一种弹出式视图。
我只是在寻找如何单击一个常规按钮并显示另一个全屏视图,就像在旧的做事方式中执行 segue 一样。
我想在收到请求的数据后呈现一个视图,像这样
var body: some View {
VStack {
Text("Company ID")
TextField($companyID).textFieldStyle(.roundedBorder)
URLSession.shared.dataTask(with: url) { (data, _, _) in
guard let data = data else { return }
DispatchQueue.main.async {
self.presentation(Modal(LogonView(), onDismiss: {
print("dismiss")
}))
}
}.resume()
}
}
Run Code Online (Sandbox Code Playgroud) 描述性示例:
登录屏幕,用户点击“登录”按钮,执行请求,UI显示等待指示器,然后在成功响应后,我想自动将用户导航到下一个屏幕。
如何在SwiftUI中实现这种自动转换?