iOS 联系人与日历功能开发指南
1. 联系人选择器配置
在开发过程中,联系人选择器是一个常用的组件。可以通过以下代码配置联系人选择器,使其仅显示有电子邮件地址的联系人,并在用户选择时仅展示电子邮件地址:
picker.displayedPropertyKeys = [CNContactEmailAddressesKey]
picker.predicateForEnablingContact = NSPredicate(format: "emailAddresses.@count > 0")
上述代码的含义如下:
- displayedPropertyKeys
:指定选择器中显示的联系人属性,这里仅显示电子邮件地址。
- predicateForEnablingContact
:设置一个谓词,用于筛选出有电子邮件地址的联系人。
1.1 委托方法实现
我们只需实现委托方法的第二种形式(参数为 CNContactProperty
),代码的实际作用是:“仅启用有电子邮件地址的联系人。当用户点击启用的联系人时,显示详细信息。在详细信息视图中,仅显示电子邮件地址。当用户点击电子邮件地址时,将其报告给委托方法并关闭选择器。”
1.2 多选功能
若要启用多选功能,需实现另外一对委托方法:
contactPicker(_:didSelec