2017-06-24 41 views
-1

實現UITableView時,我添加了背景圖像並將表視圖設置爲透明。但是,即使將表視圖單元格更改爲不同的顏色(以便更好地查看文本),表格的邊仍保持清晰,如此圖中所示:Table View CelliOS:在更改單元格背景時,UITableViewCell的邊顯示不同的顏色(Xcode 8,Swift 3)

我相加得到表視圖的內部代碼:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { 
     cell.backgroundColor = UIColor(white: 1, alpha: 0.25) 
     cell.accessoryView?.backgroundColor = UIColor(white: 1, alpha: 0.25) 
     cell.contentView.backgroundColor = UIColor(white: 1, alpha: 0.25) 
     cell.tintColor = UIColor(white: 1, alpha: 0.25) 
} 

而且在viewWillAppear

self.tableView.backgroundColor = UIColor(white: 1, alpha: 0.25) 

我不知道爲什麼兩邊都不顯示爲相同的顏色。我認爲這與配件按鈕有關,但當試圖改變這一點時,沒有任何改變。

回答

0

contentView不包括整個單元格。嘗試將設置的背景色設置爲清晰的顏色。然後只有單元格的背景視圖纔會顯示。

0

你的許多代碼純粹是浪費;它與這件事無關。關鍵線路有:

cell.backgroundColor = UIColor(white: 1, alpha: 0.25) 
cell.contentView.backgroundColor = UIColor(white: 1, alpha: 0.25) 

這是做愚蠢的事情,因爲你是用另一種背景色(內容畫面的背景色,這在細胞的前坐)覆蓋的小區的,半透明的背景顏色。

當你有這樣的問題時,你可以自己做一個更簡單,更清晰的測試用例來解決它。例如:

cell.backgroundColor = .red 
    cell.contentView.backgroundColor = .green 
    cell.accessoryType = .checkmark 

enter image description here

這使得它非常明顯這是怎麼回事:綠色內容視圖部分掩蓋了紅細胞。你的代碼完全一樣。

+0

我知道這一點。問題不在於顏色本身,而在於單元格的alpha。 alpha因子不適用於雙方。 –

+0

它的確如此,你知道的。但正如我所說,在某些地區,你將一個字母與另一個字母疊加。 – matt

相關問題