Удалить вид заголовка раздела таблицы - PullRequest
0 голосов
/ 26 мая 2011

У меня есть вид таблицы с 3 разделами / 3 вида заголовка таможенного раздела ...

После того, как я удалю строку в одном из этого раздела и, если раздел окажется пустым, как я могу удалить представление заголовка раздела.

Спасибо

Ответы [ 3 ]

0 голосов
/ 26 мая 2011

Один из подходов может состоять в том, чтобы поддерживать флаги относительно того, стал ли раздел пустым, и возвращать нулевую высоту для заголовка и нижнего колонтитула этого раздела, а затем выполнить reloadSections:withRowAnimation: при удалении единственной строки в разделе.

Это, конечно, лучше, когда у вас есть настройки, специфичные для разделов, с которыми было бы сложно справиться, если бы мы удалили раздел из нашей модели. Если настроек как таковых нет, вы можете заняться обслуживанием массива массивов. После очистки массива строк вы можете отказаться от раздела из массива разделов. Это отразится на reloadData.

В любом случае вам нужно будет повлиять на модель, чтобы изменить вид.

0 голосов
/ 26 мая 2011

Один из способов решения этой проблемы - реализовать заголовок раздела следующим образом:

-(NSString*) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

    return ([[allData objectForKey:[keys objectAtIndex:section]] count] > 0) ? [keys objectAtIndex:section]:@"";
}

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

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

Надеюсь, это поможет.

0 голосов
/ 26 мая 2011

то, что вы можете сделать после удаления строки, это вызвать метод -(void)reloadData. Если вы уже делаете это, вам нужно обновить свой источник данных, чтобы указать, что строка была удалена, и в - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView вам необходимо это проверить. Дайте мне знать, если это поможет!

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