[英]cellForRowAtIndexPath how to call it only once and not after a scroll
每次我向上或向下滾動,已經繪制的單元格已經被重繪,因為當該單元格進入視圖時再次調用“cellForRowAtIndexPath”。
有沒有辦法不為已經被調用的單元格調用“cellForRowAtIndexPath”。
也就是說,一旦為索引路徑調用了cellForRowAtIndexPath,它就不應該在用戶滾動時再次調用它。
我可以在一個標志數組中設置標志並手動完成,但有更直接的方法嗎?
我絕對是一個導致性能問題的設計。 因此我無法解釋設計,也無法改變它。
如果不再讓“cellForRowAtIndexPath”方法調用,則可能會產生性能問題,但您可以通過為每行分配不同的單元標識符來實現,如下所示。
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@"Cell%d%d", indexPath.row, indexPath.section]];
//嘗試在創建新內容之前刪除所有內容。
//使用“cellForRowAtIndexPath”方法
for(UIView *view in cell.contentView.subviews){
if ([view isKindOfClass:[UIView class]]) {
[view removeFromSuperview];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.