我有一个需要添加联系人的应用程序。为此,我想使用 ContactsUI 框架中的 CNContactViewController(forNewContact: nil) 。
我实现这一目标的方法如下
class myClass: UITableViewController, CNContactViewControllerDelegate {
// ...
@objc fileprivate func addTapped() {
print("add tapped")
let createContactcontroller = CNContactViewController(forNewContact: nil)
controller.delegate = self
navigationController?.pushViewController(controller, animated: true)
}
func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
// Service.shared.addContact(contact: contact)
}
}
但是有几个问题我无法解决:
- 动画看起来很拖沓。
- 当用户完成创建联系人并单击完成时,将显示用于配置文件的 CNContactViewController(如在联系人应用程序中),而不是仅返回到 tableViewController。我该如何修改这个?
- 我收到以下错误:
2019-11-16 10:29:48.480636+0100 Flashback[11688:541742] [Snapshotting] 对至少未渲染一次的视图(0x7fc76481a420,_UIButtonBarStackView)进行快照需要 afterScreenUpdates:YES。2019-11-16 10:29:48.482425+0100 Flashback[11688:541742] [Snapshotting] 对至少未渲染一次的视图(0x7fc76481d020,_UIButtonBarStackView)进行快照需要 afterScreenUpdates:YES。2019-11-16 10:29:48.484897+0100 Flashback[11688:541742] [Snapshotting] 对至少未渲染一次的视图(0x7fc76481d5c0,_UIButtonBarStackView)进行快照需要 afterScreenUpdates:YES。2019-11-16 10:29:48.488071+0100 Flashback[11688:541742] [Snapshotting] 对至少未渲染一次的视图(0x7fc76481d9f0,_UIButtonBarStackView)进行快照需要 afterScreenUpdates:YES。2019-11-16 10: 29:48.489883+0100 Flashback[11688:541742] [Snapshotting] 对至少未渲染一次的视图(0x7fc7626228e0,_UIButtonBarStackView)进行快照需要 afterScreenUpdates:YES。2019-11-16 10:29:48.491904+0100 Flashback[11688:541742] [Snapshotting] 对至少未渲染一次的视图(0x7fc7626102d0,_UIButtonBarStackView)进行快照需要 afterScreenUpdates:YES。