2015-05-29 137 views
1

我正在研究UITableView,我需要更改每個第二個單元格的背景顏色以幫助查看數據。Swift UITableviewCell顏色更改

要做到這一點,我試圖使一個名爲「cellAlteration」,我加載數據(所以第一單元應爲白色)

var cellAlteration: Int = 0 

又在哪裏設置我的細胞之前設置爲0簡單變量我做到以下幾點:

 // #BackgroundColor 
    if cellAlteration == 0 { 
     self.backgroundColor = UIColor.whiteColor() 
     cellAlteration = 1 
    } else { 
     self.backgroundColor = UIColor.formulaWhiteColor() 
     cellAlteration = 0 
    } 

(我知道這應該改成一個BOOL數據類型,而不是詮釋,但我的問題似乎無關緊要在這一刻)

下面是結果的圖像:

enter image description here

正如你可以看到它不是正確的交流。

當我一直在測試這個,它看起來像它獲得正確加載的單元格(UITableView只加載並顯示您可以看到的單元格) - 着色似乎沒有發生問題直到我向下滾動,UITableView必須加載並顯示新的單元格。

因此,由於我的簡單變量檢查方法不起作用,在Swift中做單元格變換的正確方法是什麼?

任何幫助將不勝感激:)!

回答

5

你不需要一個變量來做到這一點。根據行是偶數還是奇數來確定顏色。把這個放到cellForRowAtIndexPath中,等你出隊了一個單元后,

if indexPath.row % 2 == 0 { 
    cell.backgroundColor = UIColor.whiteColor() 
}else{ 
    cell.backgroundColor = UIColor.formulaWhiteColor() 
} 
+0

試試吧,謝謝你的快速回復! –

+0

非常感謝你再次感謝rdelmar! 我必須再等7分鐘左右才能接受您的答案。 :) –