#iphone #ios #uitableview
#iPhone #iOS #uitableview
Вопрос:
Я устанавливаю фон для просмотра таблицы, используя изображение:
cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"my_image.png"]] autorelease];
Я использую таблицу для отображения содержимого из REST API, вначале, когда я жду результата, я устанавливаю количество строк равным 5, а затем, когда приходят результаты, я устанавливаю нужное количество ячеек. Моя проблема в том, что всякий раз, когда количество результатов меньше 5, фоновое изображение устанавливается только для ячеек результатов, а остальные белые.
Остальные ячейки устанавливаются без вызова cellForRowAtIndexPath. Откуда они берутся?
Комментарии:
1. Можете ли вы опубликовать свой метод cellForRowAtIndexPath?
2. Вы расстроены появлением пустых ячеек или вы расстроены отсутствием фона для пустых ячеек? Каков ваш точный вопрос и как уже прокомментировал @jbat100, ОПУБЛИКУЙТЕ СВОЙ метод cellForRowAtIndexPath.
Ответ №1:
Попробуйте это
cell.backgroundView.contentView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"my_image.png"]] autorelease];
Ответ №2:
выполните следующее
willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSindexPath *)indexpath
{
cell.backgroundview = view;
}
теперь это будет работать
Ответ №3:
Попробуйте удалить авторелиз из кода
Комментарии:
1. Это не проблема, backgroundView сохраняется, поэтому его следует освободить, поскольку есть выделение.
2. cell.backgroundView — это свойство сохранения, а не автоматическое освобождение, которое приведет к утечке.
3. в итоге я просто устанавливаю количество строк равным 5, когда получаю менее 5 результатов. Это решило проблему.