Tag: abpeoplepickerview

如何隐藏/删除联系人选取器上的search栏

我在我的应用程序中添加联系人select器,但是,我不想要searchfunction。 如何隐藏/删除联系人选取器(ABPeoplePickerNavigationController)上的search栏?

访问iPhone地址簿中的人员信息

我需要给用户机会从地址簿中select电话号码,所以我拿苹果手册举例说明。 但它只需要第一个号码,我可以如何使用户可以在通讯录中select一个号码。 – (IBAction)adressBook:(UIButton *)sender { ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; picker.peoplePickerDelegate = self; [self presentModalViewController:picker animated:YES]; } – (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker { [self dismissModalViewControllerAnimated:YES]; } – (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person { [self displayPerson:person]; [self dismissModalViewControllerAnimated:YES]; return NO; } – (void)displayPerson:(ABRecordRef)person { NSString* phone = nil; ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty); if (ABMultiValueGetCount(phoneNumbers) > 0) { […]

ABPeoplePickerNavigationController自定义

我想使用ABPeoplePickerNavigationController但我想定制视图。 我想要一些联系人的附件图像,我想以不同于默认的方式对它们进行sorting。 有没有办法做到这一点? 或者我必须创build我自己的UITableViewController ?

iOS在数组中获取所选联系人的电子邮件地址

我想要做的是向用户显示人员select器,让他select他想要的所有联系人,最后将所有联系人的电子邮件地址都放在一个数组中。 最好的是只显示给用户的电子邮件联系人。 直到现在,我所能做的唯一事情就是向用户提供这个代码: ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; picker.peoplePickerDelegate = self; [self presentModalViewController:picker animated:YES]; 然后我试图使用此代码来获取选定的联系人的电子邮件: – (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person { ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonEmailProperty); [email addObject:(__bridge NSString*)ABMultiValueCopyValueAtIndex(multi, 0)]; [self dismissModalViewControllerAnimated:YES]; return YES; } 但是,一旦我select一个联系人,选取器就会消失,所以我不知道如何继续。 此外,当我select一个联系人时,我在控制台中得到这个: "Unbalanced calls to begin/end appearance transitions for <ABMembersViewController: 0xa1618c0>." 任何帮助,将不胜感激。

人们select与ios 7和ios 8

我有人select工作在ios 7,我试图添加兼容性为ios 8.我已经将两个方法添加到一个,但我得到一个错误,说预期的标识符或'('在NSString * contactName任何build议将是伟大的! – (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier { [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person property:property identifier:identifier]; NSString *contactName = CFBridgingRelease(ABRecordCopyCompositeName(person)); self.nameField.text = [NSString stringWithFormat:@"%@", contactName ? contactName : @"No Name"]; ABMultiValueRef phoneRecord = ABRecordCopyValue(person, kABPersonPhoneProperty); CFStringRef phoneNumber = ABMultiValueCopyValueAtIndex(phoneRecord, 0); self.phoneField.text = (__bridge_transfer NSString *)phoneNumber; CFRelease(phoneRecord); ABMultiValueRef email = ABRecordCopyValue(person, kABPersonEmailProperty); CFStringRef emailField = […]

如何从ABPeoplePicker获取用户select的电子邮件地址?

在这里的其他人Stackoverflow发布了一种方式来获取用户从联系人列表中select的电话号码。 可以做电子邮件地址,如果是的话,我该怎么做? 这里是代码: – (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier { if (property == kABPersonPhoneProperty) { ABMultiValueRef multiPhones = ABRecordCopyValue(person, kABPersonPhoneProperty); for(CFIndex i = 0; i < ABMultiValueGetCount(multiPhones); i++) { if(identifier == ABMultiValueGetIdentifierAtIndex (multiPhones, i)) { CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(multiPhones, i); CFRelease(multiPhones); NSString *phoneNumber = (__bridge NSString *) phoneNumberRef; CFRelease(phoneNumberRef); _contactNumber.text = [NSString stringWithFormat:@"%@", phoneNumber]; } […]

应用程序崩溃使用PeoplePicker,但不是在相同的视图

更新2,我希望这可以帮助别人,有一个解决scheme在以下链接: https : //discussions.apple.com/thread/5498630? start =0& tstart =0 ,显然这是一个iOS错误,这个工作。 我可以创build新的sharedPicker,但是我不能从中得到任何东西或者解雇它,我不确定如何格式化超出链接提供的内容任何帮助都是非常受欢迎的。 所以我现在的问题是如何采取下面的代码,并实际上创buildpeoplePickerNavigationControllerDidCancel的代码:和peoplePickerNavigationController:shouldContinueAfterSelectingPerson:谢谢。 我留下了大部分原来的post,以防有人有类似的模糊问题。 // Convoluted workaround for the iPhone 4S crash + (ABPeoplePickerNavigationController *)sharedPeoplePicker { static ABPeoplePickerNavigationController *_sharedPicker = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _sharedPicker = [[ABPeoplePickerNavigationController alloc] init]; }); return _sharedPicker; } // then later on, use [YourController sharedPeoplePicker].delegate = self; // etc. 我目前的代码: […]