Требование;Swift tableView.reloadRows удаление ячеек
У меня есть статический UITableView
, и я пытаюсь открыть pickerview
при нажатии одной из ячеек. Я меняю размер на heightForRowAt
, поэтому при нажатии на кнопку cell
мне нужно reload
так, чтобы размер изменился. Если я использую reloadData()
он отлично работает (я хочу использовать reloadRows
так что я могу добавить анимацию)
Выпуск:
при попытке reloadRows(at..., with: .automatic)
строки просто исчезнуть. Если I reloadRows
в viewWillAppear
ничего не меняется, строка не исчезает.
Код:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(indexPath)
if colorCelllExpandedIndex != nil{
let prev = colorCelllExpandedIndex
colorCelllExpandedIndex = nil
tableView.reloadRows(at: [prev!], with: .automatic)
//tableView.reloadData()
} else {
colorCelllExpandedIndex = indexPath
colorCell.frame.size.height = CGFloat(colorCellExpandedHeight)
tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.automatic)
}
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath == colorCelllExpandedIndex {
return CGFloat(colorCellExpandedHeight)
} else {
if indexPath.row == 1 {
return CGFloat(colorCellRegularHeight)
}
return UITableViewAutomaticDimension
}
}
экрана Изображения: