Я использую UITableView с динамическими ячейками. Каждая ячейка имеет несколько кнопок, изображение и метку. Ширина изображения равна ширине таблицы, а высота является переменной.
Я обновляю высоту изображения в cellForRowAtIndexPath с помощью функции... для соблюдения соотношения сторон. Метка может состоять из 1 или более строк.
Я использую heightForRowAtIndexPath для установки высоты ячейки. Я вычисляю его там и возвращаю значение.
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let queficient = CGFloat(dataController.Data[indexPath.row].width) / self.view.frame.size.width
let imgHeight = CGFloat(dataController.Data[indexPath.row].height) / queficient
return 134 + imgHeight + heightForView(dataController.Data[indexPath.row].description)
}
Я не знаю, почему таблица немного тормозит и прыгает, когда я прокручиваю.