获取联系人图片ios
我想弄清楚如何在下面的代码中添加人姓和名字 ,以便从我的手机获取他们的联系人图片:
if(ABPersonHasImageData(aABRecordRef)) { UIImage *image = [UIImage imageWithData:(NSData *)ABPersonCopyImageData(aABRecordRef)]; cell.imageView.image = image; } else { UIImage *image1=[UIImage imageNamed:@"User.jpg"]; cell.imageView.image=image1; }
我也可能在这里缺少代码,所以请填写需要它的区域。 我只是想弄清楚如何在上面的代码中添加第一个,最后一个名字,所以我知道我什么时候到达那个联系人为它提取图像。
任何帮助都会很棒! 谢谢!
要获取FirstName和LastName,您可以使用:
NSString *firstName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty); NSString *lastName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);
这里显示如何按编号搜索并使用ABAddressBook获取图像 。
但是您想要搜索By FirstName和LastName。 因此,根据文档 ,您应该使用-recordsMatchingSearchElement:方法进行多个参数。
获得匹配的数据后,您可以使用以下代码提取图像:
CFDataRef imageData = ABPersonCopyImageData(aABRecordRef); UIImage *image = [UIImage imageWithData:(NSData *)imageData]; CFRelease(imageData);
希望你从中获得有用的东西。
尝试:
CFStringRef firstName, lastName; // can cast this to NSString * firstName = ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty); lastName = ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);