簡體   English   中英

cellForRowAtIndexPath如何只調用一次而不是滾動之后

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM