小编Chi*_*oon的帖子

如何从 SwiftUI 视图导航到 UIKit UIViewController

到目前为止,我有一个完全使用 UIKit 构建的应用程序。但是,我希望能够开始实现一些 SwiftUI 视图来替换一些 UIViewController。

我已经能够通过点击按钮从 UIViewController 导航到 SwiftUI 视图:

    @IBAction func buttonTapped(_ sender: Any) {
        let newView = UIHostingController(rootView: SwiftUIView(viewObj: self.view, sb: self.storyboard, dismiss: self.dismiss) )
        view.window?.rootViewController = newView
        view.window?.makeKeyAndVisible()
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何从单个 SwiftUI 视图过渡到 UIViewController?(因为应用程序的其余部分都在 UIKit 中)?我在 SwiftUI 视图中有一个按钮,可以在点击时导航回 UIViewController。我试过了:

  1. viewstoryboard对象传递给 SwiftUI 视图,然后调用执行类似于上面代码的操作来更改当前视图控制器。但是,在模拟器上尝试时没有任何反应。
  2. 使用.present以显示SwiftUI观模态。这有效,我可以允许 SwiftUI 视图.dismiss自己使用。但是,这只适用于模态,我希望使其正常工作(即更改屏幕)

这是我的简单 SwiftUI 视图:

struct SwiftUIView: View {
    var viewObj:UIView? // Perhaps use this for transition back?
    var sb:UIStoryboard?
    var dismiss: (() -> Void)?

    var …
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller uikit swift swiftui swiftui-navigationlink

7
推荐指数
2
解决办法
3898
查看次数

Firestore:使用文档 ID 与 ID 作为字段

我已经好奇了很长时间了,但是建议在 firestore 的文档中保存id字段吗?既然我们已经在 firestore 中拥有一个唯一的 documentId 存储?

此外,当使用电子邮件对用户进行身份验证时,结果会返回一个uid,并且在在线教程中它被保存为用户文档中的一个字段。我很困惑为什么这是必要的,因为我们已经有了用户的 documentId。

ios firebase google-cloud-firestore

6
推荐指数
1
解决办法
2136
查看次数