有可能在iOS中获取默认联系人图片吗?



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

最新更新