我在iOS上收到联系人图片,但是当联系人没有图片时,我什么也得不到。系统上是否以任何方式提供该默认图片,或者我应该将其添加为资源。
感谢。
答案 0 :(得分:0)
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
。