-1

我想要做的是:用户按下一个名为“编辑现有联系人”的按钮,然后它会打开通讯录的联系人列表。用户应该选择并找到他们想要更新的联系人,然后按下它,它会打开联系人详细信息视图。在该视图中,我希望用户能够编辑联系信息。是否有一个公共 API 可以做到这一点,或者它都是私有的?

要在我的应用程序中打开地址簿,我使用以下代码:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];

我观看了 Apple 编写的 QuickContacts 应用程序,但在这里只能编辑特定联系人,而不是用户的选择。任何人都可以帮助我吗?提前致谢!

[编辑] 我用这行代码解决了我的问题:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{

ABPersonViewController *controller = [[ABPersonViewController alloc] init];
controller.displayedPerson = person;
controller.allowsEditing = YES;
controller.personViewDelegate = self;
[peoplePicker pushViewController:controller animated:YES];

return NO;

}

非常感谢马特!

4

1 回答 1

2

使用 ABPeoplePickerNavigationController 后,在委托方法中接收选择的人,并关闭选择器。现在使用 ABPersonViewController 和那个人作为displayedPersonallowsEditing设置为 YES 让用户编辑那个人。

或者,将该人用作displayedPersonABNewPersonController 的。

于 2013-05-18T02:39:46.547 回答