2015-12-17 2 views
0

Я хочу программно изменить размер UITableViewCell после его визуализации. Поскольку ячейка уже была обработана, я не могу использовать tableView:heightForRowAtIndexPath:.Как изменить размер UITableViewCell после его обработки?

Как изменить размер ячейки после ее визуализации?

+0

Итак, как вам удалось это сделать в конце? – Nico

+1

@Nico Я думаю, что я просто перезагрузил все данные таблицы. Я хотел попробовать перезагрузить строки с помощью метода анимации, упомянутого в ответе, но не имел шансов. – Andrew

ответ

3

Необходимо произвести оплату в tableView:heightForRowAtIndexPath:, после чего вы должны перезагрузить эту ячейку или позвонить по телефону tableViewreloadData.

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

func resizeCell() { 
    self.indexReload = NSIndexPath(section: 0, row:4) 
    self.heightYouWant = heightYouWant 
    self.tableView.reloadRowsAtIndexPaths([self.indexReload], withRowAnimation: .Fade) 
} 

heightForCellAtIndexPath И вы должны реализовать так:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    if index == self.indexReload { 
     return self.heightYouWant 
    } or { 
     //calculate normal as you want 
    } 
} 

Это моя идея. Надеюсь, эта помощь!

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