作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 tableView:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellTime", for: indexPath) as! TimeViewCell
let showHour = self.infoWripper.sorted(by: { $0.hour < $1.hour })[indexPath.row]
cell.labelTime.text = showHour.showHour()
cell.dataForShow = showHour.showFullTime()
return cell
}
带有单元格的 TableView 内容 UICollectionView
的单元格。
class TimeViewCell: UITableViewCell {
@IBOutlet weak var labelTime: UILabel!
var dataForShow = [String]()
@IBOutlet weak var collectionView: UICollectionView!
override func awakeFromNib() {
super.awakeFromNib()
collectionView.delegate = self
collectionView.dataSource = self
}
}
extension TimeViewCell: UICollectionViewDelegate, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return dataForShow.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionCell", for: indexPath) as! CustomCollectionCell
cell.labelCollection.text = dataForShow[indexPath.row]
//heightForCell = collectionView.contentSize.height
return cell
}
}
class CustomCollectionCell: UICollectionViewCell {
@IBOutlet weak var labelCollection: UILabel!
}
当我打开带有表的 VC 时 - View 正常,但当我开始滚动时 - 我发现数据不正确(重用),但我找不到我的错误。滚动前:
之后:
最佳答案
您需要在单元格中重新加载 Collection View 。试试这个:
class TimeViewCell: UITableViewCell {
....
var dataForShow = [String]() {
didSet {
self.collectionView?.reloadData()
}
}
关于swift - 不使用 CollectionView 的 ReusableCell 重用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41634265/
我对可重复使用的表格单元格有疑问。我只加载了 11 个单元格,其中几乎所有内容都已正确下载、解析和显示。 我遇到的问题是,我看到一个 UIImageView 正方形,该正方形的背景颜色对该行是唯一的。
我有 tableView: func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITable
我是一名优秀的程序员,十分优秀!