2014-12-02 147 views
1

這讓我很生氣,我已經看過關於此的每篇文章。iOS Swift出現dequeueReusableCellWithIdentifier導致重疊

我正在使用自定義tableview單元格類和XIB文件。這一切都很好,直到我滾動屏幕(即舊板栗)的表視圖。我知道它與dequeueReusableCellWithIdentifier方法有關並且不清除舊數據。但我不知道如何實現這一點。

一旦單元格滾動屏幕,它會導致重疊並繼續將圖像添加到單元格。

let cell: DetailHeaderTableViewCell = tableView.dequeueReusableCellWithIdentifier("detailHeaderTableViewCell") as DetailHeaderTableViewCell 

從我發現,我需要實現這樣的事情:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil]; 

UIImageView *defaultImageView; 
UILabel *customLabel; 

if (cell == nil) { 
    // create the cell and empty views ready to take the content. 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
} else { ... } 

但是我不能工作,如何在迅速實現這一目標。

非常感謝提前。

回答

1

您要找的是UITableViewCell's prepareForReuse方法。

如果您使用的是自定義UITableView單元格,則需要實施此方法以清除單元格中的任何舊數據,然後重用它們。

+0

謝謝。正是我需要的! – eol 2014-12-02 23:03:49

+0

我現在有一個問題,當我重新審視視圖時,現在所有的單元約束都是錯誤的。即它們都會返回到默認的44pt,除非我將這些單元格從屏幕上滾動出來。有任何想法嗎? – eol 2014-12-03 06:30:31

+0

這聽起來像一個單獨的&新的問題,而不是你問的原始問題。爲什麼不問一個新問題,顯示你在''prepareForReuse''中做了什麼的代碼? – 2014-12-03 06:43:58

相關問題