【发布时间】:2018-05-11 01:57:19
【问题描述】:
我正在尝试使用 CNContactPickerViewController,但一直遇到如何从单个联系人中选择多个属性
的问题选择器的基本显示
let contactStore = CNContactStore()
override func viewDidLoad() {
super.viewDidLoad()
self.askForContactAccess()
self.displayContacts()
}
func displayContacts(){
let contactPicker = CNContactPickerViewController()
contactPicker.delegate = self
self.present(contactPicker, animated: true, completion: nil)
}
在用户授权后显示通讯录(代码在上面但没有显示)
现在我想做的是当用户选择一个联系人时,我们导航到联系人详细信息视图(目前发生这种情况)但是当我尝试使用委托时
func contactPicker(_ picker: CNContactPickerViewController, didSelectContactProperties contactProperties: [CNContactProperty])
我会看到联系人选择器视图,我可以在其中选择多个联系人。我不介意尝试扩展联系人详细信息视图,以便我可以选择多个属性,但我什至不知道如何挂钩。
我可以创建一个完全自定义表格视图并在那里选择属性,但由于苹果创建了一个不错的联系人详细信息视图,我宁愿使用它。
【问题讨论】:
-
我认为您需要在
CNContactPickerViewController#displayedPropertyKeys中播种您想要显示的属性,然后选择器才会显示特定联系人的属性表 -
感谢 MadProgrammer - 我不确定属性键,因为我真的希望它显示联系人中的所有属性。现在,当我不添加委托函数时,它确实会显示整个详细信息卡..我对此无能为力。
标签: ios swift cncontact cncontactviewcontroller cncontactpicker