0

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

谢谢。

4

1 回答 1

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

于 2013-06-13T10:06:14.680 回答