ios - (Swift) 展开 tableViewSection 后如何管理 tableView 单元格的名称?
问题描述
在其中一个部分中,当我单击 toggleSwitch 时,它应该根据相同单元格的数量展开array.count
下面的方法工作正常。当我单击切换时,它会展开一个行数等于数组中元素数的部分:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return 7
case 4:
if expand == true {
return array.count + 1
}
else {
return 1
}
default:
return 1
}
}
array
可以有任意数量的元素,具体取决于 Realm 中的数据。所以它可以是 0,但也可以是 5、14 等。
代码CellForRowAt
也可以正常工作,用动画扩展部分:
cell.labelCell.text = "elements (\(array.count))"
cell.cellSwitch.isOn = self.expand
cell.callback = { [unowned self] check in
self.expand = check
UIView.transition(with: tableView,
duration: 0.5,
options: .transitionCrossDissolve,
animations: { self.tableView.reloadData()})
}
注意:部分中的所有新单元格与其父单元格的类型相同。因此,每个新单元格都有自己的名称,切换...
问题:如何使新单元格的名称与array
. 喜欢:如果数组中的第一个元素是"abc"
,我想制作第一个单元格: cell.labelCell.text = "abc" (array[0])
解决方案
代替
cell.labelCell.text = "elements (\(array.count))"
和
cell.labelCell.text = "elements (\(array[indexPath.row]))"
边注:
如果仅重新加载部分而不是整个表格视图,则可以免费获得动画。
推荐阅读
- node.js - 带有 302 重定向的跨域请求不会在 IOS 上为 Chrome 和 FireFox 设置 cookie
- python - 如何在 Python 中清理和文本挖掘列表列表
- java - JOptionpane 文本字段光标不会自动显示
- node.js - 如何使用 discord.js 向 roblox 发出 POST 请求?
- javascript - 我如何解决或拒绝基于另一个承诺的承诺?
- python - 如何使用美丽的汤提取特定部分中的维基百科链接?
- swift - 根据 SwiftUI 中应用是全屏还是分屏的不同 UI
- javascript - 为什么我们要为错误消息重新渲染页面(express、nodejs)
- node.js - 当 express 服务器与代码捆绑时,将 Vue 3 应用程序部署到 Heroku
- reactjs - 反应无法轻松更新状态