无法编辑或关闭CNContactViewController(iOS)

无法编辑或关闭CNContactViewController(iOS),ios,uinavigationcontroller,presentviewcontroller,cncontactviewcontroller,Ios,Uinavigationcontroller,Presentviewcontroller,Cncontactviewcontroller,我正在我的应用程序中演示CNContactViewController的一个实例。我希望用户能够编辑联系人,以及关闭此视图控制器。下面是显示视图控制器的代码,它嵌入在UINavigationController中。正如您在代码中所看到的,我有allowsdediting=YES,但查看屏幕截图;你可以看到我无法编辑。有人能帮我看看我遗漏了什么吗?谢谢 CNContactViewController *contactController = [CNContactViewController vie

我正在我的应用程序中演示
CNContactViewController
的一个实例。我希望用户能够编辑联系人,以及关闭此视图控制器。下面是显示视图控制器的代码,它嵌入在
UINavigationController
中。正如您在代码中所看到的,我有
allowsdediting=YES
,但查看屏幕截图;你可以看到我无法编辑。有人能帮我看看我遗漏了什么吗?谢谢

CNContactViewController *contactController = [CNContactViewController viewControllerForUnknownContact:contact];

contactController.allowsEditing = YES;
contactController.delegate = self;

contactController.contactStore = store;

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:contactController];
navController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:navController animated:YES completion:nil];
编辑:我尝试了@WrightCS建议的另一种方法:

[self presentViewController:contactController animated:YES completion:nil];
并且,确保添加此委托方法:

- (void)contactViewController:(CNContactViewController *)viewController
       didCompleteWithContact:(CNContact *)contact{
    [self dismissViewControllerAnimated:YES completion:nil];

}
但是,重复获取此错误日志:

[CNUI ERROR] Contact view delayed appearance timed out

不要创建
UINavigationController
实例,而是尝试直接显示联系人控制器

[self presentViewController:contactController animated:YES completion:nil];
CNContactViewControllerDelegate 出现在主线程上
问题是我错误地初始化了
CNContactViewController
,而不是:

CNContactViewController *contactController = [CNContactViewController viewControllerForUnknownContact:contact];
这将显示一个联系人,但不允许取消或编辑联系人视图,正确的选项(对于我的场景)是使用

CNContactViewController *contactController = [CNContactViewController viewControllerForNewContact:contact];

实际上,在创建
UINavigationController
实例之前,我已经尝试过了,但是会得到一个重复的错误日志:
[CNUI error]联系人视图延迟外观超时
您实现了
CNContactViewControllerDelegate
?我没有实现该方法;谢谢-我用我添加的内容对问题进行了编辑;仍然收到相同的日志错误。在一条评论中,该错误是iOS SDK 10的新错误,因此需要将其放入
UINavigationController
中。
CNContactViewController *contactController = [CNContactViewController viewControllerForUnknownContact:contact];
CNContactViewController *contactController = [CNContactViewController viewControllerForNewContact:contact];