获取iphone联系人图像时pushviewcontroller动画的问题

时间:2011-02-22 13:04:20

标签: iphone uinavigationcontroller uiimage nsdata pushviewcontroller

我正在尝试通过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传递给Detail View

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

任何人都可以帮我解决这个问题。 ????之前有没有人遇到这个问题?

1 个答案:

答案 0 :(得分:0)

我知道这是一个旧线程,但万一有人来这里遇到相关问题: 添加

[detail view];

在初始化之后和设置任何@properties(detail.imageData=imageData;)之前 - 因为尚未设置segue的出口。