是否可以在iOS中获取默认联系人图片

时间:2013-06-13 09:59:36

标签: ios contacts default image

我在iOS上收到联系人图片,但是当联系人没有图片时,我什么也得不到。系统上是否以任何方式提供该默认图片,或者我应该将其添加为资源。

感谢。

1 个答案:

答案 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