使用Xcode 10 +,Swift 4 +,iOS 11 +
我创建了一个简单的搜索视图,该视图的顶部有一个SearchBar, 下面是一个UITableView。
首次显示视图时,表为空,并且当用户在搜索栏中输入文本时,我将结果添加到表中。从功能上讲,一切正常。
接下来,我将主视图背景设为蓝色,并希望整个TableView清晰可见,以便可以看到背景。
我已经在“ viewDidLoad”中设置了表格视图背景:
myTable.backgroundColor = UIColor.clear
在“ cellForRowAt”中,将单元格背景设置为清除:
var cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "cell")
cell.backgroundColor = UIColor.clear
cell.contentView.backgroundColor = UIColor.clear
但是,当搜索返回值并将单元格添加到表中时, 他们总是有白色背景而不是清晰的。
如果我弹出但没有清除表就按搜索视图,则现有的表格单元格会以我想要的方式显示(重新绘制)-清除。
我也尝试将其添加到“ didFinishLaunchingWithOptions”中,但这无济于事:
UITableViewCell.appearance().backgroundColor = UIColor.clear
如何在首次创建单元格时使其清晰可见?
答案 0 :(得分:0)
尝试在单元格显示时设置单元格或tableView backgroundColor。
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.backgroundColor = UIColor.clear
}
或者您可以覆盖函数setBackgroundView
来调试问题。