我在XIB中创建了一个tableviewcell
,并使用注册该类在tableview
中使用它。我在这里使用autolayout
。
但问题是当我在tableview
中加载viewcontroller
时,单元格内部视图的阴影设置不正确。它超出了我用红框所示的图片界限。
但是当滚动tableview
时,视图的阴影会按预期正确显示。
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
请注意:模糊文字不是问题。它出于安全原因而隐藏
答案 0 :(得分:0)
您可以尝试从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
}
答案 1 :(得分:0)
使用UITableViewCell
代码在QuartzCore
内添加阴影 - 可以显着降低滚动性能
最好创建阴影图形资源并将其添加为UIImageView
。