经过分析该问题可能是由于渲染层的问题所导致,需要通过减少 UI element 的渲染次数来解决。可以使用以下代码来优化渲染:
view.layer.shouldRasterize = YES; view.layer.rasterizationScale = UIScreen.mainScreen.scale;
view.layer.drawsAsynchronously = YES; view.layer.contentsScale = UIScreen.mainScreen.scale; view.layer.allowsEdgeAntialiasing = YES;
self.tableView.layer.shouldRasterize = YES; self.tableView.layer.rasterizationScale = UIScreen.mainScreen.scale; self.tableView.estimatedRowHeight = tableView.rowHeight; self.tableView.rowHeight = UITableViewAutomaticDimension;
使用以上方法进行优化,可以明显减少 UI element 的渲染次数,避免黑色闪烁问题的出现。