Проблема с анимацией pushviewcontroller при получении изображения контакта iphone - PullRequest
0 голосов
/ 22 февраля 2011

Я пытаюсь показать контакт из адресной книги 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];

Может кто-нибудь, пожалуйста, помогите мне с этим. Кто-нибудь получил эту проблему раньше?

1 Ответ

0 голосов
/ 13 марта 2014

Я знаю, что это старая ветка, но на всякий случай, если кто-то придет сюда с такой проблемой: добавьте

[detail view];

сразу после инициализации и перед установкой любых @properties (detail.imageData=imageData;) - потому что выходы еще не установлены.

...