Я использую метод определения размера ячейки для автоматической высоты в моей ячейке tableview, так как текст описания является переменным (может входить от 1 до 5 строк). Он работает нормально.Swift 2 - обновить UITableViewRow в автоматическом макете, чтобы изменить его высоту на кнопке, нажатой в ячейке
Я также хочу, чтобы на кнопке нажмите внутри текста ячейки описания должны быть очищены и высота строки должна уменьшаться. Для этого я внедрил следующий делегат, чтобы обновить текст описания до пустого и вызвать делегата в моем представлении таблицы, чтобы обновить строку. но вместо изменения размера и опустошения текста в описании текст просто возвращается к описанию.
var delegate:UpdateRowDelegate?
@IBAction func btnTestTapped(sender: AnyObject) {
self.descriptionLabel.text = "-"//!self.addressLabel.hidden
if delegate != nil {
delegate!.updateRow(self)
}
}
Протокол
protocol UpdateRowDelegate{
func updateRow(cell:UITableViewCell)
}
Обновление строки делегат реализован в таблице View Controller
func updateRow(cell: UITableViewCell) {
let indexPath = tableView.indexPathForCell(cell)
self.tableView.beginUpdates()
self.tableView.reloadRowsAtIndexPaths([indexPath!], withRowAnimation: UITableViewRowAnimation.Fade)
self.tableView.endUpdates()
}
Я новичок в быстрой
Можете ли вы разместить свой cellForRowAtIndexPath? – Moriya