1. UITableView自定义选中背景颜色
// 设置选中背景颜色
selectedBackgroundView = UIView(frame: frame)
selectedBackgroundView?.backgroundColor = UIColor.red
2.遇到的问题及解决方案
不管是使用UITableView自带的选中颜色还是自定义的选中颜色,在有cell的区域滑动UITableView时会出现一些问题,滑动手指下的cell会变成选中的颜色而之前选中的cell颜色会变会未选中状态的颜色,停止滑动就会恢复。
解决办法是实现UITableView的shouldHighlightRowAt代理方法并在拖拽时返回false,点击cell时会返回true
func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool {
return !tableView.isTracking
}