- (IBAction)openPhoneBook:(UIButton *)sender {//打开电话本 _tableView.hidden = YES; ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init]; peoplePicker.peoplePickerDelegate = self; peoplePicker.delegate = self; [self presentViewController:peoplePicker animated:YES completion:nil]; } #pragma mark - 打开通讯录 #pragma mark - ABPeoplePickerNavigationControllerDelegate - (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker { [peoplePicker dismissViewControllerAnimated:YES completion:^{}]; } // Called after a person has been selected by the user. - (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person NS_AVAILABLE_IOS(8_0) { ABMultiValueRef phoneNumbers = (ABMultiValueRef)ABRecordCopyValue(person, kABPersonPhoneProperty); NSString * phone = @""; if (phoneNumbers) { //CFIndex count = ABMultiValueGetCount(phoneNumbers); phone = (__bridge NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, 0); CFRelease(phoneNumbers); } // // NSString * firstname = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonLastNameProperty)); // 名 // NSString * lastname = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonFirstNameProperty)); // 姓 // NSString * name = [firstname==nil?@"":firstname stringByAppendingString:lastname==nil?@"":lastname]; if(phone.length && [phone hasPrefix:@"+86"]){ phone = [phone substringFromIndex:3]; } phone = [phone stringByReplacingOccurrencesOfString:@"-" withString:@""]; self.searchTField.text = phone; [peoplePicker dismissViewControllerAnimated:NO completion:^{ [self.searchTField becomeFirstResponder]; }]; } // Deprecated, use predicateForSelectionOfPerson and/or -peoplePickerNavigationController:didSelectPerson: instead. - (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person NS_DEPRECATED_IOS(2_0, 8_0) { ABMultiValueRef phoneNumbers = (ABMultiValueRef)ABRecordCopyValue(person, kABPersonPhoneProperty); NSString * phone = @""; if (phoneNumbers) { //CFIndex count = ABMultiValueGetCount(phoneNumbers); phone = (__bridge NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, 0); CFRelease(phoneNumbers); } NSLog(@"phone=%@",phone); if(phone.length && [phone hasPrefix:@"+86"]){ phone = [phone substringFromIndex:3]; } phone = [phone stringByReplacingOccurrencesOfString:@"-" withString:@""]; self.searchTField.text = phone; [peoplePicker dismissViewControllerAnimated:YES completion:^{}]; return NO; }