作者:Love@YR
链接:http://blog.csdn.net/jingqiu880905/article/details/51074409
请尊重原创,谢谢!
iOS8及以前的通讯录框架是AddressBookUI
9之后改了ContactsUI
代码如下:
#import <AddressBookUI/ABPeoplePickerNavigationController.h>
#import <ContactsUI/CNContactPickerViewController.h>
#import <AddressBook/AddressBook.h>
#import <Contacts/Contacts.h>
if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
CNContactPickerViewController *picker=[[CNContactPickerViewController alloc]init];
picker.delegate=self;
[self.h5ViewController presentViewController:picker animated:YES completion:NULL];
}
else
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self.h5ViewController presentViewController:picker animated:YES completion:NULL];
}
其中如果实现了- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContacts:(NSArray<CNContact*> *)contacts
或者- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperties:(NSArray<CNContactProperty*> *)contactProperties
就会默认通讯录多选,所以如果想要pickerView展现的是单选,就不要实现这两个delegate协议方法即可。