(Swift) 展开tableViewSection后如何管理tableView单元格名称?
(Swift) How to manage names of tableView cells after expanding tableViewSection?
在其中一个部分中,当我单击 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]))"
旁注:
如果您只重新加载部分而不是整个 table 视图,您可以免费获得动画。
在其中一个部分中,当我单击 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]))"
旁注:
如果您只重新加载部分而不是整个 table 视图,您可以免费获得动画。