gpt4 book ai didi

在iOS 13上构建时,UITableViewCell selectedBackgroundView的颜色不可见

转载 作者:行者123 更新时间:2023-12-04 18:18:31 25 4
gpt4 key购买 nike

我在使用cellForRowAtIndexPath的选择中给了tableview单元格一种颜色

    let backgroundView = UIView()
backgroundView.backgroundColor = UIColor.grey3 //custom color
cell.selectedBackgroundView = backgroundView

由于我使用Xcode 11.0进行构建,因此颜色不再在iOS 13设备或模拟器上传播到单元的 subview 。如果我使用Xcode 11.0在iOS 12.2模拟器上构建,它仍然可以工作。

任何人都知道导致此行为的变化是什么?我正在使用.xib文件。

最佳答案

从苹果的iOS 13 Release Notes:

The UITableViewCell class no longer changes the backgroundColor or isOpaque properties of the contentView and any of its subviews when cells become highlighted or selected. If you are setting an opaque backgroundColor on any subviews of the cell inside (and including) the contentView, the appearance when the cell becomes highlighted or selected might be affected. The simplest way to resolve any issues with your subviews is to ensure their backgroundColor is set to nil or clear, and their opaque property is false. However, if needed you can override the setHighlighted(:animated:) and setSelected(:animated:) methods to manually change these properties on your subviews when moving to or from the highlighted and selected states.



我的快速测试确认,这可能是您的情况的原因。

具有绿色背景标签的单元格,橙色 View 为 .selectedBackgroundView

iOS 12:

enter image description here

iOS 13:

enter image description here

关于在iOS 13上构建时,UITableViewCell selectedBackgroundView的颜色不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58104474/

25 4 0
文章推荐: r - 尝试使用聚合对列中的值子集运行线性模型
文章推荐: wix - 每台机器和每用户安装的磁盘成本不变
文章推荐: asp.net-mvc-3 - 谷歌 OpenId : Accept only users of a particular company
文章推荐: select - Blazor:在使用 @bind 时如何在