您好,我正在尝试构建一个列出所有联系人的界面,就像Contacts
and Phone
应用程序具有相同的UI
。到目前为止我所尝试的如下。基本上我尝试实施CNContactPickerViewController
from ContactsUI
使用UIViewControllerRepresentable
。然而我得到的是一张空白的白页。
struct ContactsViewController: UIViewControllerRepresentable {
func makeUIViewController(context: UIViewControllerRepresentableContext<ContactsViewController>) -> CNContactPickerViewController {
let controller = CNContactPickerViewController()
controller.delegate = context.coordinator
controller.displayedPropertyKeys = [CNContactGivenNameKey]
return controller
}
func updateUIViewController(_ uiViewController: CNContactPickerViewController, context: UIViewControllerRepresentableContext<ContactsViewController>) {
print("updating")
}
func makeCoordinator() -> Coordinator {
return Coordinator(self)
}
class Coordinator: NSObject, CNContactPickerDelegate {
var parent: ContactsViewController
init(_ contactsViewController: ContactsViewController) {
self.parent = contactsViewController
}
}
}
以及 SwiftUI 文件;
struct ContactsView: View {
var body: some View {
ContactsViewController()
}
}
提醒一下,我正在打电话ContactsView
代替TabView
在其他一些SwiftUI
文件。所以我想显示联系人SwiftUI
View
这是一部分TabView
。任何帮助将非常感激。
这里有两种解决方案:https://stackoverflow.com/a/57621666/8818408 https://stackoverflow.com/a/57621666/8818408
(1) 有效,但在显示联系人列表之前会闪烁一个视图。对于用户来说不是一个好的体验。
(2)作品类别。在显示联系人列表之前,它还会闪烁一个视图。它沿前缘、后缘和底部边缘显示出意想不到的透明度和意想不到的颜色。这些或许都可以解决。
I'm just getting started trying to resolve issues with #2 above. If anyone can offer a solution that works completely, that would be great.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)