我在 XIB 中创建了一个 tableviewcell 并通过注册类在 tableview 中使用它。我在这里使用 autolayout 。
但问题是当我在 viewcontroller 中加载 tableview 时,单元格内的 View 阴影设置不正确。它超出了它的界限,如我用红色框显示的图片中所示。
但是当滚动 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-推荐答案 strong>
您可以尝试从 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/
|