首页 > 解决方案 > SwiftUI:从 NavigationView 打开 CNContactViewController?

问题描述

我正在尝试打开CNContactViewController以从NavigationView. 到目前为止,这是我尝试过但失败的方法:

  1. 添加导航栏项目并设置目的地
        .navigationBarItems(trailing:
            NavigationLink(destination: self.addContact()) {
                Text("Add")
            }
        )
  1. addContact函数返回新视图
    func addContact() -> CNContactViewController {
        let con = CNContact()
        let vc = CNContactViewController(forNewContact: con)
        return vc
    }

不幸的是,这似乎不起作用。我对 iOS 和 SwiftUI 很陌生,我不确定这是否是这样做的方法,任何帮助将不胜感激!

标签: swiftuicncontactviewcontroller

解决方案


你必须嵌入CNContactViewController一个UIViewControllerRepresentable.

这是 Apple 文档

而且,这是一篇关于它的非 Apple 文章

由于您是 iOS 新手,请注意 SwiftUI 远未完成并没有完整记录。而且 SwiftUI 仅在最新的 iOS 13 上运行,因此并非所有潜在的应用程序用户都可能(已经)安装了该 iOS 版本。


推荐阅读