ios - 向上滚动后表格视图单元格中的阴影不起作用
问题描述
当我向上滚动阴影无法正常工作时,我在 tableview 单元格内的视图中有阴影。我相信这是因为状态变化,但我不知道该怎么做。这是我的代码
在向上滚动之前从这里开始:
向上滚动后:
class PerformanceKnowledgeCell: UITableViewCell {
@IBOutlet weak var hrzStackView: UIStackView!
@IBOutlet weak var containerView: UIView!
override func awakeFromNib() {
containerView.layer.shadowColor = UIColor.borderColor.cgColor
containerView.layer.shadowOffset = CGSize(width: -1, height: 8)
containerView.layer.shadowOpacity = 1.0
containerView.layer.shadowRadius = 10
containerView.layer.masksToBounds = false
contentView.clipsToBounds = false
contentView.layer.masksToBounds = false
clipsToBounds = false
layer.masksToBounds = false
}
}
谢谢你
解决方案
该问题可能与细胞的实际重用有关。这意味着当您滚动时,最后一个单元格将被删除并再次插入。所以视图的顺序发生了变化。
我能够使用单元格的 zPosition 解决此问题(= 维持秩序):
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.layer.zPosition = CGFloat(tableView.numberOfRows(inSection: 0) - indexPath.row)
}
推荐阅读
- reactjs - Nginx 在我的 react-app 上抛出 404 错误
- kotlin - 如何在 Kotlin 中将十六进制字符串转换为十进制字符串?
- javascript - 如何计算某个单词在 JavaScript 中充满文本的 div 中出现的次数?
- python - 如何从 Python 中的测试数据进行插值?2组输入
- amazon-cognito - 如何将 AWS Cognito 本机用户链接到联合用户
- java - 为什么在执行 Java Stream 终端操作时对象没有被垃圾收集?
- python - Keras 自定义数据生成器通过多输入和多输出提供维度错误(功能性 api 模型)
- php - 数组、数组和对象
- macos - macOS Big Sur - 安装所选更新时出错
- javascript - 满足按钮单击条件以在javascript中显示消息