Автоматическое изменение размеров TableView?

Подскажите, как реализовать, если можно, то максимально подробно, примеры со stackoverflow не работают.

Динамическое изменение размеров ячеек реализовано как
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGSize size = [[[self vozvratmassiva] objectAtIndex:indexPath.row]
sizeWithFont:[UIFont systemFontOfSize:15]
constrainedToSize:CGSizeMake(260, CGFLOAT_MAX)];
double commonsize = size.height;
...
return commonsize;
}
Работаю без использования storyboard
  • Вопрос задан
  • 2981 просмотр
Пригласить эксперта
Ответы на вопрос 2
@s0L
vozvratmassiva - это позор. Что касается таблицы, то чтобы изменился размер ячейки, ее нужно перезагрузить через reload ячейки или всей таблицы, без этого ничего не произойдет.
Ответ написан
GxocT
@GxocT
А с чем именно возникли у вас проблемы?

Если у вас есть UITableView *tableView, то поменять её размер можно изменив tableView.frame или tableView.bounds.
Соответственно в коде вы вычисляете необходимый размер таблицы и устанавливаете его. В вашем случае насколько я понял он должен быть равен сумме высот всех ячеек?!

Ну вот простой пример, который изменяет размеры таблицы по нажатию кнопки.
1. Создаём приложение с единственным ViewController'ом и xib файлом.
2. Добавляем UITableView в xib.
3. Привязываем свойства delegate и dataSource таблицы к File's Owner.
4. Создаем в классе @property tableView и связываем с ним таблицу в нашем классе.
5. Далее используем этот код: pastie.org/8800027
В коде я создаю две кнопки, одна уменьшает таблицу, а другая увеличивает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы