UITableViewCell Изображение не обновляется - PullRequest
4 голосов
/ 10 декабря 2010

Я могу обновить detailTextLabel.text, и UITableViewCell показывает изменения во время выполнения, но если я пытаюсь обновить imageView.image, это не меняет видимое изображение. Есть идеи, почему? Я попытался вызвать обновление для UITableViewCell специально, но безрезультатно.

-(void)getImageForURL:(NSURL*)url row:(UITableViewCell*)cell {

    UIImage*image;

    image = [UIImage imageWithData:[NSData dataWithContentsOfURL:url];

    cell.imageView.image = image; // Does not work..
    cell.detailTextLabel.text = @"test"; // Works

}

Ответы [ 4 ]

22 голосов
/ 13 декабря 2010

Попробуйте позвонить [cell setNeedsLayout] после установки изображения, если это первое изображение, которое вы устанавливаете для ячейки.

1 голос
/ 10 декабря 2010

Убедитесь, что стиль ячейки - UITableViewCellStyleDefault, потому что другие типы ячеек могут всегда возвращать ноль imageView, вместо того, чтобы создавать его по требованию.

0 голосов
/ 28 марта 2019

У меня тоже были проблемы с добавлением изображения в мой imageView, которое было ограничено в ячейке таблицы и не обновлялось с помощью cell.setNeedsLayout (). Вызов методов обновления в табличном представлении после добавления изображения помог мне:

cell.setNeedsLayout()
if #available(iOS 11.0, *) {
    tableView.performBatchUpdates(nil, completion: nil)
}
else {
    tableView.beginUpdates()
    tableView.endUpdates()
}
0 голосов
/ 10 декабря 2010

Проверьте, является ли изображение нулевым или нет.Если его значение равно nil, то изображение неправильно получено из URL.

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