我一直在寻找这个答案,我的问题似乎有两个方面:(1)答案来自2011年我对Swift来说太新了以翻译旧代码和(2)实现我找到的代码,它改变了tableView中所有单元格的高度。我有一些比其他细胞更大的细胞,我需要将它们留在这里。
我的问题是如何根据切换的开关来定位单个单元格的高度以进行扩展和收缩,并使其不影响任何其他单元格的高度。
iOS“创建新日历”事件正是我正在寻找的,如果重要的话,可扩展单元格中会有一个日期选择器。此外,我正在使用STATIC单元格...有些是自定义的,有些是使用内置功能。</ p>
编辑 - 添加了代码
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.section == 1 && indexPath.row == 2 {
pickerVisible = !pickerVisible
tableView.reloadData()
}
tableView.deselectRow(at: indexPath, animated: true)
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 1 && indexPath.row == 2 && toggle.isOn == false {
return 0.0
}
if indexPath.section == 1 && indexPath.row == 3 {
if toggle.isOn == false || pickerVisible == false {
return 0.0
}
return 165.0
}
return 44.0
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 44.0
}