iOS14中表格部分标题中的白色背景

如何解决iOS14中表格部分标题中的白色背景

使用 xcode12 构建到 iOS14 后出现此问题。

我有一个带有透明背景的节标题,在iOS14上,它变成了白色,并在层次结构中添加了新的_UISystemBackgroundView

解决方法

iOS 14带有两个新的单元配置:

  1. 内容配置。 UIContentConfiguration

顾名思义,内容配置可以帮助您操纵单元格的内容,例如图像,文本,辅助文本,布局指标和行为。

  1. 背景配置 UIBackgroundConfiguration

可以帮助操纵背景颜色,视觉效果,笔触,插图和拐角半径。即使我们未指定默认设置,所有单元也会继承默认的后台配置。

解决方案

要摆脱默认的iOS14白色背景,您需要按以下方式更改UITableViewCellUITableViewHeaderFooterView backgroundConfiguration

    // Add this code in your AppDelegate didFinishLauncingWithOptions
    // or you can change configuration of certain subclass using self. backgroundConfiguration = ...
    if #available(iOS 14.0,*) {
        var bgConfig = UIBackgroundConfiguration.listPlainCell()
        bgConfig.backgroundColor = UIColor.clear
        UITableViewHeaderFooterView.appearance().backgroundConfiguration = bgConfig
        //For cell use: UITableViewCell.appearance().backgroundConfiguration = bgConfig
    }

阅读this article了解更多信息

,

@Husam解决方案的目标C版本:

select u.*
from users u
where not exists (select 1
                  from profiles p
                  where p.user_id = u.user_id and p.google_id is not null
                 );
,

在您的 UITableViewHeaderFooterView / UITableViewCell 自定义类中-使用实现示例覆盖下一个方法:

快捷键:

@available(iOS 14.0,*)
override func updateConfiguration(using state: UICellConfigurationState) {
    backgroundConfiguration = UIBackgroundConfiguration.clear()
}

Objective-C:

- (void)updateConfigurationUsingState:(UICellConfigurationState *)state {
    self.backgroundConfiguration = [UIBackgroundConfiguration clearConfiguration];
}
,

使用iOS 14的基于配置的API可能会禁用那些旧版API(例如cell.textLabelcell.detailTextLabel)的功能。

要防止这种系统行为,可以在页眉/页脚/单元格中设置一个backgroundView(旧版API),然后为该视图设置自定义backgroundColor

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?