我正在尝试打开CNContactViewController,以便从NavigationView创建一个新的联系人。到目前为止,这是我尝试过的,但失败了:
.navigationBarItems(trailing:
NavigationLink(destination: self.addContact()) {
Text("Add")
}
)addContact函数返回新视图 func addContact() -> CNContactViewController {
let con = CNContact()
let vc = CNContactViewController(forNewContact: con)
return vc
}不幸的是,这似乎行不通。我对iOS和SwiftUI非常陌生,我不确定这是否就是这么做的方式,任何帮助都会很感激!
发布于 2019-10-13 17:25:27
必须将CNContactViewController嵌入到UIViewControllerRepresentable中。
关于这件事,这是一篇非苹果的文章。
因为您是iOS新手,所以请注意,SwiftUI还远远没有完成,而且还没有完整的文档。而且SwiftUI只运行在最新的iOS 13上,所以并不是所有潜在的应用程序用户都已经安装了iOS版本。
发布于 2021-09-06 19:08:19
完全解决办法;
.navigationBarItems(trailing:
NavigationLink(destination: self.addContact()) {
Text("Add")
}
)职能;
func addContact() -> MyCNContactViewController {
let vc = MyCNContactViewController()
return vc
}可表示结构包装` `CNContactViewController
struct MyCNContactViewController: UIViewControllerRepresentable {
typealias UIViewControllerType = CNContactViewController
func makeUIViewController(context: Context) -> CNContactViewController {
let con = CNContact()
let vc = CNContactViewController(forNewContact: con)
vc.allowsActions = true
return vc
}
func updateUIViewController(_ uiViewController: CNContactViewController, context: Context) {
}
}https://stackoverflow.com/questions/58362060
复制相似问题