UITableViewCell imageView загружает небольшие изображения, даже когда они имеют правильный размер! - PullRequest
0 голосов
/ 25 декабря 2010

У меня проблема при загрузке изображений в UITableViewCell после асинхронной загрузки и помещения в переменную UIImage.

Изображения выглядят меньше, чем они есть на самом деле!Но при прокрутке вниз и прокрутке обратно к изображению или при перезагружении всей таблицы они отображаются с правильным размером ...

Вот выдержка из кода ...

    - (void)reviewImageDidLoad:(NSIndexPath *)indexPath
{
 ThumbDownloader *thumbDownloader = [imageDownloadsInProgress objectForKey:indexPath];

    if (thumbDownloader != nil)
    {
        UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:thumbDownloader.indexPathInTableView];

  [UIView beginAnimations:nil context:nil];
  [UIView setAnimationDuration:0.4];
  [self.tableView cellForRowAtIndexPath:indexPath].imageView.alpha = 0.0;
  [UIView commitAnimations];

        cell.imageView.image = thumbDownloader.review.thumb;

  [UIView beginAnimations:nil context:nil];
  [UIView setAnimationDuration:0.4];
  [self.tableView cellForRowAtIndexPath:indexPath].imageView.alpha = 1.0;
  [UIView commitAnimations];
 }

}

Вот изображение приложения сразу после вызова этого метода.

http://www.flickr.com/photos/arbarlow/5288563627/

После вызова tableView reloadData или правильной прокрутки вокруг появившегося следующего изображения flickr, чтобы увидетьнормальный результат, но я уверен, что вы можете догадаться, что ..

У кого-нибудь есть идеи, как заставить изображения выглядеть правильно?я абсолютно в замешательстве?!

С уважением, Алекс iPhone noob

1 Ответ

0 голосов
/ 25 декабря 2010

Я не думаю, что вызов cellForRowAtIndexPath обязательно вернет ячейку, которая активно отображается (по крайней мере, намеренно). Вместо этого вы должны попробовать

    [tableView beginUpdates];
    [tableView reloadRowsAtIndexPaths:...];
    [tableView endUpdates];

и измените вашу реализацию cellForRowAtIndexPath, чтобы обновить изображение, настроить анимацию и т. Д. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...