OGeek|极客世界-中国程序员成长平台

标题: ios - 如何在 ios 的 tableview 中的单元格内的 View 中添加阴影? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:00
标题: ios - 如何在 ios 的 tableview 中的单元格内的 View 中添加阴影?

我在 XIB 中创建了一个 tableviewcell 并通过注册类在 tableview 中使用它。我在这里使用 autolayout

但问题是当我在 viewcontroller 中加载 tableview 时,单元格内的 View 阴影设置不正确。它超出了它的界限,如我用红色框显示的图片中所示。 enter image description here

但是当滚动 tableview 时, View 的阴影会按预期正确显示。

cellForRowAtIndexPath中使用的代码如下所示:

let layer = cell.cellContectView.layer
        layer.shadowOffset = CGSizeMake(1.0, 1.0)
        layer.shadowColor = UIColor.blackColor().CGColor
        layer.shadowRadius = 5
        layer.shadowOpacity = 0.2
        layer.masksToBounds = false
        layer.shadowPath = UIBezierPath(rect: layer.bounds).CGPath

请注意:文字模糊不是问题。出于安全原因将其隐藏



Best Answer-推荐答案


您可以尝试从 cellForRowAtIndexPath 中删除图层的代码并将其放入您的单元类中:

override func prepareForReuse() {
    let layer = self.contentView.layer
    layer.shadowOffset = CGSizeZero
    layer.shadowColor = UIColor.blackColor().CGColor
    layer.shadowRadius = 5
    layer.shadowOpacity = 0.2
    layer.masksToBounds = false
    layer.shadowPath = UIBezierPath(rect: layer.bounds).CGPath
}

关于ios - 如何在 ios 的 tableview 中的单元格内的 View 中添加阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38435222/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4