[英]How to reload a single cell of a collectionView in the willDisplayCell callback?
[英]Reload single TableViewCell with Custom Cell that includes CollectionView
我有一個具有tableView的ViewController。 該tableView填充自定義單元格。 每個自定義單元格都有一個顯示圖像的collectionView(當每個新聞塊都有圖像時,想象新聞提要結構)。
現在,在一個新聞塊中編輯了所有內容之后,我想刷新該tableView的單個單元格(一個新聞塊)。 我嘗試使用[newsList reloadRowsAtIndexPaths: ... ]
前提是我確切知道該tableView Cell的indexPath,但是問題是當我向下滾動到下一個tableView Cell並在那里進行編輯后,重新加載了第二Cell來自第一個新聞塊的圖像將顯示在第二個新聞塊中。
還有其他方法可以刷新包含CollectionView的自定義單元格嗎?
我發現對自定義單元格有用的事情是創建一個configureCell方法,並在您向單元格提供新信息時調用該方法。 還要記住的另一件事是在prepareForReuse中取消自定義數據,以幫助解決重用問題。
class TestCell: UICollectionViewCell {
var myInfo: String? {
didSet {
if let myInfo = myInfo {
configureCell(myInfo)
}
}
}
var label: UILabel?
//intialize the cell somewhere here
func configureCell(info: String) {
label?.text = info
}
override func prepareForReuse() {
super.prepareForReuse()
label?.text = nil
}
}
然后,您可以在任何索引路徑下獲取單元格並設置新信息。
希望能對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.