- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event {
CNContactPickerViewController *picker = [[CNContactPickerViewController alloc] init];
//设置代理
picker.delegate=self;
[self presentViewController:picker animated:YES completion:nil];
}
//导入代理CNContactPickerDelegate实现协议方法
- (void)contactPickerDidCancel:(CNContactPickerViewController *)picker {
NSLog(@"点击右上角取消按钮");
}
//以下的这些方法实现任意一个就可以了。分为两种:单选和多选如果同时实现单选和多选,优先多选,单选不执行
//选中了一个联系人。单选模式下选中一个联系人,实现了这个协议方法的时候不会进入下一级详情页面
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact*)contact {
//emailAddresses email地址
NSString * emailStr = contact.emailAddresses[0].value;
NSString * firstName = contact.givenName;
NSString * lastName = contact.familyName;
NSString * company = contact.organizationName;
NSLog(@"%@.%@--%@--%@",firstName,lastName,company,emailStr);
}
//多选
- (void)contactPicker:(CNContactPickerViewController*)picker didSelectContacts:(NSArray *)contacts {
NSLog(@"123456789");
}
/**
*只实现这个方法的话可以进入详情页面,并且在点击详情页面的某一条属性的时候会触发,并且可以知道点击了哪一条属性
* contactProperty
*/
- (void)contactPicker:(CNContactPickerViewController*)picker didSelectContactProperty:(CNContactProperty*)contactProperty {
NSLog(@"%@",contactProperty.value);
}