我在 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
请注意:文字模糊不是问题。出于安全原因将其隐藏
您可以尝试从 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 |