iOS富文本

获取通讯录-AddressBookUI

2016-11-29  本文已影响9人  遇见灬最美的你

1.导入头文件

#import "ViewController.h"
#import <AddressBookUI/AddressBookUI.h>

2.代理

@interface ViewController ()<ABPeoplePickerNavigationControllerDelegate>

@end
@implementation ViewController

3.创建控制器

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    
    ABPeoplePickerNavigationController * ab = [[ABPeoplePickerNavigationController alloc] init];
    
    ab.peoplePickerDelegate = self;
    
    [self presentViewController:ab animated:YES completion:nil];
    
}

4.调用代理方法

// Called after a person has been selected by the user.
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person NS_AVAILABLE_IOS(8_0){
    
    
    CFStringRef firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty);
    CFStringRef lastName = ABRecordCopyValue(person, kABPersonLastNameProperty);
    
    NSLog(@"%@---%@",firstName,lastName);
    
    
    ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty);
    CFIndex count = ABMultiValueGetCount(multi);
    
    for (int index = 0; index < count; index++) {
        
        NSString * phone = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(multi, index);
        
        NSString * value = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(multi, index);
        
        NSLog(@"%@",value);
    }
}
// Called after a property has been selected by the user.
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier NS_AVAILABLE_IOS(8_0){
    
    ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty);
    CFIndex count = ABMultiValueGetCount(multi);
    
    for (int index = 0; index < count; index++) {
        
        NSString * phone = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(multi, index);
        
        NSString * value = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(multi, index);
        
        NSLog(@"%@",value);
    }

}

// Called after the user has pressed cancel.
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{
    
    NSLog(@"111");

}

@end

需要注意的是:

上一篇下一篇

猜你喜欢

热点阅读