1
我使用ABPeoplePickerNavigationController
来表示联系人的表示。通过点击联系我需要为它设置新的图像。我添加了代码来更改人员数据,但无法更改图像。有什么建议么?为联系人iOS设置图像
这是我下面的代码:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
NSData *dataRef = UIImagePNGRepresentation(self.theImage);
CFDataRef cfdata = CFDataCreate(NULL, [dataRef bytes], [dataRef length]);
CFErrorRef error;
ABPersonRemoveImageData(person, &error); // clean any image first from ref
if (ABAddressBookSave(_addressBook, &error))
{
ABPersonSetImageData(person, cfdata, &error);
ABAddressBookSave(_addressBook, &error);
}
CFRelease(cfdata);
[self dismissViewControllerAnimated:YES completion:nil];
return NO;
}
我下载的示例从这里:link
要检查它是如何工作的,你可以下载代码并修改委托下面我的代码。
感谢您的意见我已根据您的意见更新了我的问题代码,但我仍然没有看到该图像出现在我的联系人中。我检查cfdata,人,_addressBook他们都有价值 –
我已经添加链接到我从哪里下载它的来源 –
我想我已经使用了不同的地址簿参考。我从ABPeoplePickerNavigationController获得地址簿实例,并且效果很好。谢谢 –