我正在学习 SwiftUI,目前我的重点是实现一种我能够使用 UIKit 实现的方法。我需要创建一个方法来确定我应该推送视图还是根据布尔值以模态方式呈现视图。
在 UIKit 中,我的代码是:
var presentVC = true // boolean that determines whether VC will be presented or pushed
let vc = ViewController() //Your VC that will be pushed or presented
if (presentVC == true) {
self.presentViewController(vc, animated: true, completion: nil)
} else {
self.navigationController.pushViewController(vc, animated: true)
}
但是在 SwiftUI 中,我不确定如何使用以下方法正确实现这一点:
- NavigationLink - 用于推送视图
- .sheet(isPresented:, content:) - 用于以模态方式呈现视图
NavigationLink 和 .sheet 修饰符似乎与视图实现相结合。是否有人已经在 SwiftUI 中遇到并解决了这种情况?谢谢
我正在使用 SwiftUI 1.0,因为我需要支持 iOS 13。