2015-09-29 4 views
0

Я использую UITableView с динамическими ячейками. У каждой ячейки есть несколько кнопок, изображение и ярлык. Ширина изображения равна ширине таблицы, а высота - переменной.UITableView является laggy и прыгает при прокрутке

Я обновляю высоту изображения в 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) 
} 

Я не знаю, почему стол немного лагги и прыгает, когда я прокручиваю.

ответ

0

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

Вы должны просто вернуть dataController.Data [indexPath.row] .calculatedCellHeight или что-то

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