2016-01-25 98 views
2

在我的tableview控制器,一些細胞具有對它們的半透明認爲表示用於用戶去激活小區。當我的tableview第一次出現時,單元格正確顯示在正確的單元格上的半透明視圖。但是,當我滾動瀏覽tableview時,沒有半透明視圖的單元格不見了,然後刷新,半透明視圖就會滲入到單元格中。該單元的所有其他元素都可以,除了現在這個半透明的視圖。iOS的半透明查看在泰伯維細胞出血到其他細胞

顯示在單元格中的半透明,依靠,當我從後端拉下數據是不斷填充細胞之前,是給我一個BOOL命名爲「主動」。由於我不是現場計算這個BOOl或其他任何東西,我不確定爲什麼這個視圖正在流血。任何想法如何解決這一問題?謝謝!

+0

請你出示一些代碼。 – Jageen

回答

1

我認爲你需要清除背景顏色的單元格添加此方法。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
[cell setBackgroundColor:[UIColor clearColor]]; 
+1

真棒這工作!謝謝! – mdimarca

2

細胞被重新使用。如果您從表格視圖控制器中添加它,那麼在下次單元格被使用時視圖仍然存在。您最終可能會將此視圖的許多圖層添加到單元格中。

半透明的觀點應該是你顯示或在需要時隱藏單元格的永久組成部分,顯示單元格時不是添加。

0

但是你添加的半透明視圖,將其刪除的方法

-(void)tableView:(UITableView *)tableView willDisplayCell (UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
//Remove transparent view 
} 
0

看起來,你是不是在你的電池使用prepareForReuse。 沒有看任何代碼,我猜想你使用prepareForReuse不當或根本沒有。

一個單元格需要清理並在可以重用之前回到初始狀態,如果不這樣做,那麼當前一個單元格被重用時,添加到單元格中的內容可能會顯示在任何隨機單元格中。

你應該看看我的回答here,以獲得更多的細節。

讓我知道你是否需要任何幫助。