我想做的是: 用户按下名为“编辑现有联系人”的按钮,然后打开地址簿的联系人列表。用户应该选择并找到他们想要更新的联系人,然后按下它并打开联系人详细信息视图。在该视图中,我希望用户能够编辑联系信息。 是否有公共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;
}
非常感谢马特!
答案 0 :(得分:1)
使用ABPeoplePickerNavigationController后,在委托方法中接收所选人员,并关闭选择器。现在将ABPersonViewController与displayedPerson
和allowsEditing
设置为YES一起使用,让用户编辑该人。
或者,将该人用作ABNewPersonController的displayedPerson
。