我在 iOS 中获取联系人图片,但是当联系人没有图片时,我什么也得不到。该默认图片是否以任何方式在系统上可用,或者我应该获取它并将其添加为资源。
谢谢。
中没有默认图片ABAddressBook
。
当ABaddressbook
联系人图片返回 nil 时,您可以将其替换为您自己的图片。创建一个“if”语句来检查是否ABAddressBook
返回任何图像。如果结果是肯定的,那么直接使用它来更新您的UIImageView
. 否则,您UIImageView
使用自定义图像更新您的。
这是一个示例代码:
NSString* firstName = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString* lastName = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonLastNameProperty);
self.textField.text = [NSString stringWithFormat:@"%@ %@", firstName ? firstName: @"", lastName ? lastName: @""];
NSData *imgData = (__bridge NSData *)ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatThumbnail);
UIImage *img = [UIImage imageWithData:imgData];
if (img != nil){
self.imageField.image = img;
}else {
self.imageField.image = [UIImage imageNamed:@"photo.png"];
}
textField
将使用联系人姓名进行更新。imageField
将使用联系人图像或自定义图像进行更新。