TABAnimation骨架屏框架闪白问题

2022-09-07  本文已影响0人  凌晨四点的洛杉矶

TABAnimation骨架屏框架闪白问题

在使用TABAnimation骨架屏框架时,UITableView首次加载会出现除第一行以外都闪白得情况,稍纵即逝,断点断不到,图层也找不到白色的这一层。在普通白色主题色App中很难被发现,但在深色项目中尤其明显。

通过对TABAnimation库的排查以及项目框架的排查,抽丝剥茧,终于找到了问题原因:
在iOS14开始,系统新增了两个单元格配置:

在项目图层中,背景配置体现为列表首次加载前cell中多出了一个_UISystemBackgroundView视图,该视图包含一个白色的子视图。使用TabAnimation时,会将这个视图的加载过程暴露出来。

WechatIMG1.png

我们要做的就是找到他,并把子视图背景色改掉即可。

将以下代码添加到didFinishLaunchingWithOptions中
Objective-C

    if (@available(iOS 14.0, *)) {
        UIBackgroundConfiguration *bgconfig = [UIBackgroundConfiguration listPlainCellConfiguration];
        bgconfig.backgroundColor = UIColor.clearColor;
        [UITableViewCell appearance].backgroundConfiguration = bgconfig;
    }

Swift

    if #available(iOS 14.0, *) {
        var bgConfig = UIBackgroundConfiguration.listPlainCell()
        bgConfig.backgroundColor = UIColor.clear
        UITableViewHeaderFooterView.appearance().backgroundConfiguration = bgConfig
        //For cell use: UITableViewCell.appearance().backgroundConfiguration = bgConfig
    }
上一篇 下一篇

猜你喜欢

热点阅读