小编And*_*dré的帖子

iPhone ABPeoplePickerNavigationController - 如何从Addressbook中选择一个人的两个不同多值属性的两个单个条目

我几乎要绝望了,因为我现在正在寻找解决方案.

问题很简单:

  • 通过ABPeoplePickerNavigationController(作为ModalView),应该选择一个人.
  • 然后只应显示(例如)邮件地址,用户应选择一个.
  • 选择邮件地址后,只显示(例如)电话号码,用户应选择一个.

直到第三个方面的解决方案众所周知:

- (IBAction)importFromAddressBook 
{
    ABPeoplePickerNavigationController* picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    [self presentModalViewController:picker animated:YES];
    [picker release];
}

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker 
{
    [self dismissModalViewControllerAnimated:YES];
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker 
      shouldContinueAfterSelectingPerson:(ABRecordRef)person 
{
    [peoplePicker setDisplayedProperties:[NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonEmailProperty]]];
    return YES;
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
      shouldContinueAfterSelectingPerson:(ABRecordRef)person
                                property:(ABPropertyID)property
                              identifier:(ABMultiValueIdentifier)identifier 
{
    //===PROBLEM=== Now I do have a mail address and I want to have a phone number right afterwards.

    //Something like this would be straightforward, but the view does not change this …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c contacts addressbook peoplepicker

11
推荐指数
2
解决办法
2万
查看次数