提取iPhone联系人图像时pushviewcontroller动画存在问题

问题描述 投票:0回答:1

我正在尝试显示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];

我该如何改进?

iphone uinavigationcontroller uiimage nsdata pushviewcontroller
1个回答
0
投票

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

[detail view];

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

© www.soinside.com 2019 - 2024. All rights reserved.