我在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
将使用联系人图像或自定义图像进行更新。