在iOS13以前,UITableViewCell的选中颜色设置一般是设置为:
#自定义cell文件
......
self.contentView.backgroundColor = UIColor.blackColor;
UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = UIColor.redColor;
self.selectedBackgroundView = bgColorView;
......
在iOS13以后,发现该设置失效了,原因是UITableViewCell在高亮状态和选中状态不再修改contentView的backgroundColor和opaque属性。所以该选中视图就被
contentView遮挡住了。解决办法是在iOS13以后设置UITableViewCell的背景色应该是
#自定义cell文件
//iOS13之前:
......
self.contentView.backgroundColor = UIColor.blackColor;
......
//iOS13之后:
......
self.backgroundColor = UIColor.blackColor;
......
这样contentView的背景色就是默认无背景色的。
参考链接:Apple UIKit适配iOS13
中文参考链接:iOS13适配总结