crocro后,tableview单元格中的阴影不起作用

时间:2020-01-10 08:23:34

标签: ios swift uitableview

当我向上滚动阴影无法正常工作时,在tableview单元中的视图中有阴影。我相信是因为状态变化,但我不知道该怎么做。这是我的代码

在此之前向上滚动:

tableviewCell

向上滚动后:

failedShadow

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
    }
}

谢谢

1 个答案:

答案 0 :(得分:0)

该问题可能与单元的实际重用有关。这意味着在滚动时,最后一个单元格将被删除并再次插入。因此,视图的顺序已更改。

我能够使用单元格的zPosition修复此问题(=维护顺序):

 func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        cell.layer.zPosition = CGFloat(tableView.numberOfRows(inSection: 0) - indexPath.row)
    }