1

我正在从我的原生端打开 iOS 中的新联系人屏幕,如下所示:

let contact = CNMutableContact.init()
let controller = CNContactViewController.init(forNewContact:contact)
controller.delegate = self
DispatchQueue.main.async {
    let navigation = UINavigationController .init(rootViewController: controller)
    let viewController : UIViewController? = UIApplication.shared.delegate?.window??.rootViewController
    viewController?.present(navigation, animated:true, completion: nil)
}

屏幕正确打开,问题是我无法返回 Flutter 应用程序。有一个取消按钮,但是当我单击它时没有任何反应。

如何从本机控制器返回?

4

1 回答 1

1

如何解决此问题:在类中添加以下方法(已从 CNContactViewControllerDelegate 扩展:

public func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
    viewController.dismiss(animated: true, completion: nil)
}
于 2021-01-18T15:56:06.957 回答