2014-08-30 79 views
0

我的自定義單元格包含許多UI元素。我發現重用單元非常困難。所以我將創建的單元設置爲表視圖的didEndDisplayingCell委託方法中的零。這樣做有沒有問題。會妨礙表現嗎?這是我的代碼重複使用表格視圖單元格中的問題

(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if ([tableView.indexPathsForVisibleRows indexOfObject:indexPath] == NSNotFound){ 
     VBMerchantDealCell *cell = (VBMerchantDealCell *)[tableView cellForRowAtIndexPath:indexPath]; 
     cell = nil; 
    } 
} 
+0

你爲什麼將單元設置爲零?你爲什麼不使用重用機制?也許如果你解釋你遇到的問題是有人可能會幫助你。 – Abizern 2014-08-30 10:27:44

+0

@Abizern我的自定義單元格包含切換徽章,每3秒切換一次。切換時顯示在徽章上的文字也不同,徽章顏色和單元上每個徽章上顯示的文字也不同。我該如何處理這件事。當我嘗試使用啓用重用的同一單元格時,單元格內的內容和文本都是重複的。 – 2014-08-30 10:33:19

回答

0

是的,不重複使用單元格會對性能非常不利。在單元中使用透明度也可能會影響性能(即滾動)。您可以使用樂器或模擬器來檢查:「顏色混合圖層」會將所有非不透明視圖着色爲紅色。

0

在您的細胞子類中使用prepareToReuse方法。這裏將所有值重置爲默認值,並在相應的cellForRowAtIndexPath方法中將適當的值設置爲單元格。

而且,不重複使用單元是一種不必要的性能開銷。

+0

@Adhithya 在這裏,我的自定義單元格包含徽章和該徽章內的標籤(均在xib中)。那麼我怎麼可以重用這個單元格。如果我使cell.imgBadgeImageView.image = nil和cell.lblBadgeLabel.Text = nil它們都將從所有剩餘的單元中消失(因爲我們正在重新使用單元格)。我是否需要將此作爲子視圖添加到代碼中的單元格中。如果我這樣做,我如何訪問單元格徽章圖像視圖和徽章標籤。我需要訪問這兩個,因爲有一個動畫(用於imageview)和文本更改(用於標籤)。 PLZ響應... – 2014-08-31 17:24:46

+0

我已經回答了。在cellForRowAtIndexPath中取出單元格後,爲您的徽章imageview和單元格設置正確的值。 – Adithya 2014-09-01 01:40:36

相關問題