2013-11-12 3 views
0

У меня есть UITableView загружаемых элементов, и я использовал другой UITableView для информации о загрузке. Как я могу перезагрузить UiTableView всего UITableViewCell?Objective-C Перезагрузка UITableView внутри UITableViewCell

Я пробовал использовать [downloadList reloadData];, но он только освежает большой стол.

Редактировать: Я пытаюсь сделать что-то вроде этого: jsfiddle.net/WrNFU. Я хочу, чтобы детали были правильно выровнены, но проблема в том, что заголовок может быть слишком длинным, и я не уверен, сколько строк заголовок будет использоваться. Я использовал вторую таблицу из-за функции heightForRowAtIndexPath, которая позволяет мне регулировать высоту строки заголовка.

Ответ:

Используя код, который я нашел здесь: iPad: Iterate over every cell in a UITableView?

for (int section = 0; section < [downloadList numberOfSections]; section++) { 
     for (int row = 0; row < [downloadList numberOfRowsInSection:section]; row++) { 
      NSIndexPath* cellPath = [NSIndexPath indexPathForRow:row inSection:section]; 
      UITableViewCell* cell = [downloadList cellForRowAtIndexPath:cellPath]; 

      UITableView *tempTableView = (UITableView *)[cell viewWithTag:110]; 
      [tempTableView reloadData]; 
     } 
    } 
+0

Почему вы не используете одну ячейку таблицы? который содержит 4 метки, 2 статических текста и 2 являются динамическими. Среди них обозначение заголовка no.of.lines равно 3 и обрабатывает высоту таблицы. – Ganapathy

ответ

1

используя одну UITableView (нет необходимости использовать вложенные tableviews) можно рассматривать каждый элемент (книги?) Как единый UITableViewCell и обрабатывать разные размеры контента.

Ю. нужно рассчитать высоту UITableViewCell и установить

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 

так что TableView знает размер содержимого. Разумеется, вы также можете пометить метки, соответствующие тексту.

Существует также

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation NS_AVAILABLE_IOS(3_0); 

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

Непонятно, почему вы хотите перезагрузить одну ячейку, является загрузка для каждого элемента, который был запущен при представлении представления? Вы загружаете только текст, отображаемый или полный файл? У меня такое чувство, что это можно было бы облегчить.

+0

Как я могу получить доступ к внутреннему табло? используя теги? Поскольку я не могу использовать IBOutlet во внутреннем представлении таблицы. – Jace

+0

Тэги могут быть хорошей идеей. Но вы уверены, что вам нужно иметь внутренние таблицы? Не могли бы вы использовать разделы? – Fr4ncis

+0

Я пытаюсь показать что-то вроде этого на моем внутреннем представлении таблицы: Название: XXXXXXXX XXXXXXXX Автор: ХХХХХ – Jace

Смежные вопросы