0

iPhoneのアドレス帳から連絡先を表示しようとしています。連絡先の名前と画像を取得します。次に、これらの詳細を詳細ビューに渡します。

問題は、詳細ビューを押すと、アニメーションが非常に遅く途切れ途切れになることです。これは、画像のある連絡先の詳細を取得した場合にのみ発生します。連絡先の詳細に画像が含まれていない場合、pushviewcontroller アニメーションは完全に正常に機能します。

また、この問題は iPhone 4.0 でのみ発生することにも気付きました。これを iPhone 3gs でテストしたところ、完全に機能しました。したがって、これはデバイス固有の問題である可能性があると考えています。

次の方法で連絡先名を取得します。

 ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef record=ABCFindPersonMatchingPhoneNumber(addressBook,
                                                    number, 0, 0);

if(record)
{
    NSString *name=(NSString *)ABRecordCopyCompositeName(record);
   NSLog(@"Contact Name %@",name);

}

そして、次の方法で連絡先画像を取得します。

     if (record && ABPersonHasImageData(record))
    {

        CFDataRef data;
        data = ABPersonCopyImageData(record);
        if (data)
        {
            NSLog(@"ImageFound");
            imageData=[[NSData alloc] initWithData:(NSData *)data];

        }
    }

次に、imageData を詳細ビューに渡します

DetailView *detail=[[DetailView alloc] initWithNibName:@"DetailView" bundle:nil];
detail.imageData=imageData
[self.navigationController pushViewController:detail animated:YES];

これを改善するにはどうすればよいですか?

4

1 に答える 1