#import <Contacts/Contacts.h>
#import <ContactsUI/ContactsUI.h>
@interface ViewController ()<CNContactPickerDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self layoutView];
}
- (void)layoutView{
UIButton *btn = [UIButton buttonWithType:(UIButtonTypeCustom)];
btn.frame = CGRectMake(40, 50, 50, 50);
[btn setTitle:@"add" forState:(UIControlStateNormal)];
[btn setTitleColor:[UIColor redColor] forState:(UIControlStateNormal)];
[btn addTarget:self action:@selector(call) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:btn];
}
- (void)call{
// 1.创建选择联系人的控制器
CNContactPickerViewController *contactVc = [[CNContactPickerViewController alloc] init];
// 2.设置代理
contactVc.delegate = self;
// 3.弹出控制器
[self presentViewController:contactVc animated:YES completion:nil];
}
// 1.点击取消按钮调用的方法
- (void)contactPickerDidCancel:(CNContactPickerViewController *)picker
{
NSLog(@"取消选择联系人");
}
// 当选中某一个联系人时会执行该方法
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact
{
// 1.获取联系人的姓名
NSString *lastname = contact.familyName;
NSString *firstname = contact.givenName;
NSLog(@"%@ %@", lastname, firstname);
// 2.获取联系人的电话号码(此处获取的是该联系人的第一个号码,也可以遍历所有的号码)
NSArray *phoneNums = contact.phoneNumbers;
CNLabeledValue *labeledValue = phoneNums[0];
CNPhoneNumber *phoneNumer = labeledValue.value;
NSString *phoneNumber = phoneNumer.stringValue;
NSLog(@"%@", phoneNumber);
}
//当选中多个联系人时会执行该方法 多选的优先级要高于单选 同时实现的话 优先调用多选的界面。
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContacts:(NSArray<CNContact*> *)contacts{
for (CNContact * contact in contacts) {
// 1.获取联系人的姓名
NSString *lastname = contact.familyName;
NSString *firstname = contact.givenName;
NSLog(@"%@ %@", lastname, firstname);
// 2.获取联系人的电话号码(此处获取的是该联系人的第一个号码,也可以遍历所有的号码)
NSArray *phoneNums = contact.phoneNumbers;
CNLabeledValue *labeledValue = phoneNums[0];
CNPhoneNumber *phoneNumer = labeledValue.value;
NSString *phoneNumber = phoneNumer.stringValue;
NSLog(@"%@", phoneNumber);
}
}
ios 调用通讯录

最新推荐文章于 2020-12-21 14:10:08 发布