как решить ContactUI с iOS16 без кнопок отмены и готовности
У меня небольшая проблема с ContactsUI в моем приложении. В iOS 16, когда я хочу добавить контакт, нет кнопки «Отмена» и «Готово». У кого-нибудь есть идея, как это решить? Я прикрепил код и скрин
import SwiftUI
import Foundation
import ContactsUI
struct EditInternalContactView: UIViewControllerRepresentable {
typealias UIViewControllerType = CNContactViewController
var contact: Binding<CNContact>
var presentingEditContact: Binding<Bool>
func makeCoordinator() -> EditInternalContactView.Coordinator {
Coordinator(self)
}
func makeUIViewController(context: UIViewControllerRepresentableContext<EditInternalContactView>) -> Self.UIViewControllerType {
let controller = CNContactViewController(forNewContact: contact.wrappedValue)
controller.delegate = context.coordinator
return controller
}
func updateUIViewController(
_ uiViewController: EditInternalContactView.UIViewControllerType,
context: UIViewControllerRepresentableContext<EditInternalContactView>) {}
}
extension EditInternalContactView {
final class Coordinator: NSObject, CNContactViewControllerDelegate {
var parent: EditInternalContactView
init(_ contactDetail: EditInternalContactView) {
self.parent = contactDetail
}
func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
parent.contact.wrappedValue = contact ?? parent.contact.wrappedValue
parent.presentingEditContact.wrappedValue = false
}
func contactViewController(_ viewController: CNContactViewController, shouldPerformDefaultActionFor property: CNContactProperty) -> Bool {
return true
}
}
}