如何编辑现有联系人[编辑]

时间:2013-05-17 19:17:28

标签: iphone ios sdk addressbook

我想做的是: 用户按下名为“编辑现有联系人”的按钮,然后打开地址簿的联系人列表。用户应该选择并找到他们想要更新的联系人,然后按下它并打开联系人详细信息视图。在该视图中,我希望用户能够编辑联系信息。 是否有公共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;

}

非常感谢马特!

1 个答案:

答案 0 :(得分:1)

使用ABPeoplePickerNavigationController后,在委托方法中接收所选人员,并关闭选择器。现在将ABPersonViewController与displayedPersonallowsEditing设置为YES一起使用,让用户编辑该人。

或者,将该人用作ABNewPersonController的displayedPerson