Привет. Я пытаюсь создать интерфейс, в котором перечислены все контакты, как в приложениях Contacts
и Phone
с одинаковыми UI
. То, что я пробовал до сих пор, ниже. В основном я пытался реализовать CNContactPickerViewController
из 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
. Любая помощь могла бы быть полезна.