通讯录 - (ContactsUI、Contacts)

AddressBookUI.framework

提供了联系人列表界面、联系人详情界面、添加联系人界面等
一般用于选择联系人

AddressBook.framework

纯C语言的API,仅仅是获得联系人数据
没有提供UI界面展示,需要自己搭建联系人展示界面

AddressBookUI.framework与AddressBook.framework在iOS 9下已经过期
iOS 9推出访问通讯录的框架:ContactsUI和Contacts

ContactUI是带视图界面的,Contact不带视图
在iOS 中带视图的API一般使用步骤都是:-->实例化对象--> Modal展示
了解了带视图的ContactsUI的使用,也就掌握了Contacts的使用

ContactUI的使用也时分简单
1.导入头文件ContactsUI/ContactsUI.h
2.实例化对象
需要注意,使用的类是CNContactPickerViewController
3.Modal展示

CNContactPickerDelegate代理方法:
@protocol CNContactPickerDelegate <NSObject>
@optional

// 点击"取消"按钮时调用
- (void)contactPickerDidCancel:(CNContactPickerViewController *)picker;

// 单选代理  已经选择某个联系人后调用
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact;

// 单选代理 已经选择某个人联系人的属性后调用
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty;

// 多选代理 已经选择某个联系人后调用 实现该方法后,不会进入联系人的详情界面(属性的代理方法也就不会调用)
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContacts:(NSArray<CNContact*> *)contacts;

// 多选代理 已经选择某个联系人后调用
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperties:(NSArray<CNContactProperty*> *)contactProperties;
@end

注意:
1.实现didSelectContact代理方法后,就不会再进入联系人的详情界面,也就不会再执行didSelectContactProperty方法, 多选代理方法同理
2.单选代理方法与多选代理方法同时实现,单选代理方法将被忽略

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容