Представление CNContactViewController forUnknownContact нарушает иерархию контроллера представления - PullRequest
0 голосов
/ 30 мая 2018

Этот код сворачивает всю мою иерархию UIViewController

func openVCard(for cnContact: CNContact) {
        let contactViewController = CNContactViewController(forUnknownContact: cnContact)
        contactViewController.contactStore = CNContactStore()
        contactViewController.delegate = self

        let navigationController = UINavigationController(rootViewController: contactViewController)
        let doneButton = UIBarButtonItem(title: "Close", style: .done, target: nil, action: nil)
        let flexibleSpaceButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
        contactViewController.setToolbarItems([flexibleSpaceButton, doneButton, flexibleSpaceButton], animated: false)

        navigationController.isToolbarHidden = false
        contactViewController.edgesForExtendedLayout = []

        present(viewController: navigationController, animated: true, completion: nil)
    }

, но он выглядит нормально для CNContactViewController(forNewContact

Это ошибка Apple?

1 Ответ

0 голосов
/ 30 мая 2018

Вы должны нажать CNContactViewController вместо настоящего.Я предлагаю вам посмотреть презентацию WWDC 2015 об этой проблеме.

https://developer.apple.com/videos/play/wwdc2015/223/

После 30:00 вы можете увидеть демо об этой проблеме.

...