2

私の電話から連絡先の画像を取得するために、以下のコードに人の名前を追加する方法を理解しようとしています。

if(ABPersonHasImageData(aABRecordRef))
{
   UIImage *image = [UIImage imageWithData:(NSData *)ABPersonCopyImageData(aABRecordRef)];
   cell.imageView.image = image;
} else {
   UIImage *image1=[UIImage imageNamed:@"User.jpg"];
   cell.imageView.image=image1;
}

ここでコードが欠落している可能性もあるので、必要な領域に入力してください。上記のコードに姓名を追加する方法がわからないので、その連絡先に到達して画像を抽出したことがわかります。

どんな助けでも素晴らしいでしょう!ありがとう!

4

2 に答える 2

4

FirstName と LastName を取得するには、次を使用できます。

NSString *firstName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);

ここでは、番号で検索し、 ABAddressBook を使用して画像を取得する方法を示します。

しかし、FirstName と LastName で検索したいとします。Documentationによると、複数の引数には-recordsMatchingSearchElement:メソッドを使用する必要があります。

一致した Data を取得したら、以下のコードを使用して画像を抽出できます。

CFDataRef imageData = ABPersonCopyImageData(aABRecordRef);
UIImage *image = [UIImage imageWithData:(NSData *)imageData];
CFRelease(imageData);

これから何か役に立つことを願っています。

于 2013-01-10T14:36:31.953 に答える
0

試す:

CFStringRef firstName, lastName; // can cast this to NSString *

firstName = ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty);
lastName = ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);  
于 2013-01-10T13:50:03.680 に答える