Я пытаюсь расширить ячейку tableview при нажатии. Затем, когда он снова постучал, я хочу, чтобы он вернулся в исходное состояние.
Если cellA расширяется и cellB используется, я хочу, чтобы cellA сжимался, а cellB расширялся одновременно. Так что только одна ячейка может находиться в расширенном состоянии в любой данный момент.
Мой текущий код:
class MasterViewController: UITableViewController {
var isCellTapped = false
var currentRow = -1
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedRowIndex = indexPath
tableView.beginUpdates()
tableView.endUpdates()
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == selectedRowIndex.row {
if isCellTapped == false {
isCellTapped = true
return 140
} else if isCellTapped == true {
isCellTapped = false
return 70
}
}
return 70
}
Текущий код работает хорошо, когда:
- Вы нажимаете строку (она расширяется)
- Вы снова нажмете его (он сжимается)
Не выполняется, когда:
- Вы нажимаете строку (она расширяется)
- Вы нажимаете другую строку (она сжимается, но другая строка не расширяется)
Как я могу это решить?