ios - 在 CNContactPicker 中选择多个联系人/联系人属性

标签 ios swift cncontactpicker

我正在使用此处定义的谓词: How can I pick a contact phone number in iOS? .

contactsPicker.predicateForEnablingContact = NSPredicate(format:"phoneNumbers.@count > 0")
contactsPicker.predicateForSelectionOfContact = NSPredicate(format: "phoneNumbers.@count == 1")
contactsPicker.displayedPropertyKeys = [CNContactPhoneNumbersKey]

我还定义了以下委托(delegate)方法:

func contactPicker(_ picker: CNContactPickerViewController,
                   didSelect contactProperty: CNContactProperty) {
    print(contactProperty)
}

func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {
    print(contact)
}

我期望的行为是用户可以从多个不同的联系人中选择电话号码属性,当用户单击“完成”时,我会得到这些属性和联系人的列表。

不幸的是,当用户点击完成时,上面的代码会立即退出选择器。这意味着用户无法选择多个电话号码和/或多个联系人,只能在选择器退出前选择一个。

我如何更改它以便它选择多个属性或联系人并在点击完成时提交?

最佳答案

为了选择多个联系人属性,您需要在委托(delegate)中定义 contactPicker:didSelectContactProperties:,而不是您在问题中提到的方法。

希望这对您有所帮助!

Apple Documentation

关于ios - 在 CNContactPicker 中选择多个联系人/联系人属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840378/

相关文章:

ios - 当我更改目标设备时,哪些编译器设置会更改?

ios - 如何在 iOS 中选择联系电话号码?

ios - 在 CitrusPay 网关 swift ios 中设置卡类型的问题

ios - Swift 中的executeFetchRequest fatal error

ios - Swift:播放录制的音频

ios - 如何使用 swift 生成可搜索的 PDF

ios - 无法在 Swift 中调整多个设备上的布局

ios - 如何更改 CNContactPickerViewController searchBar 的颜色

swift - SwiftUI 中联系人应用程序的联系人列表

ios - Xcode 静态分析器在使用 ARC 时提示潜在的泄漏