ios - 将单元格添加到可见的空 UITableView 以白色背景显示
问题描述
使用 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
首次创建单元格时,如何使它们清晰显示?
解决方案
当单元格将显示时,尝试设置单元格或表格视图背景颜色。
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.backgroundColor = UIColor.clear
}
或者您可以覆盖函数setBackgroundView
来调试问题。
推荐阅读
- c# - 对类的每个类变量使用“this”关键字是一种好习惯吗?
- javascript - Javascript循环替换字符串中的数据
- uwp-xaml - 如何将子项添加到堆栈面板并在滚动堆栈面板时保持堆栈面板下方的 grid.row 可见?
- php - 如果在Yii2中前端登录也登录后端怎么办?
- jenkins - JenkinsFile 和 Pipeline 中的 sed 命令
- wordpress - 在 w3c 验证器中出现错误,因为 wordpress 中滑块旋转插件的属性之间没有空格
- vue.js - Vue-cli 3 环境变量全部未定义
- java - 如何在 XSSF 中获取背景单元格颜色
- java - getString("K") 是否能够从 json 对象中提取 int 值?
- python - 我可以使用 k 均值聚类对各种空间模式进行分类吗?