打开通讯录及回调
2015-11-20 15:56
295 查看
- (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; }
相关文章推荐
- C++ 静态常量
- 实验4
- 工作中的感悟
- HDOJ 1257 最少拦截系统(LIS)
- Java---堆栈的理解
- Linux---cp操作记录
- 框架创建异常总结
- 三级联动数据表db_nove.sql
- Validate Binary Search Tree
- jquery地图插件jvectorMap
- iOS中GCD的使用小结
- 那些不能错过的Xcode插件
- Oracle用户锁定
- 1003. Emergency
- Internet media type
- 文件自动导入
- androidlog日志之 Klog (StackTraceElement)
- xml和string和xml和CDATA的用法
- now() 函数
- C++打开一个网页