我应该在哪里添加CALayers到UITableViewCell?

时间:2013-11-12 03:53:23

标签: ios uitableview core-animation

我有一个非常简单的CAShapelayer我想添加到自定义UITableViewCell但我从来没有确定最好的地方这样做。

CAShapeLayer *line = [CAShapeLayer layer];
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointZero];
[path addLineToPoint:CGPointMake(0, self.bounds.size.height)];
[line setPath:path.CGPath];
[line setLineWidth:1];
[line setStrokeColor:[UIColor blackColor].CGColor];

我应该在某种常见的init中添加它吗?或者在prepareForReuse或dataSource方法中?我应该将它设为@property并在drawRect中检查它吗?

1 个答案:

答案 0 :(得分:2)

我认为它应该在适当的init方法中(根据制作单元格的位置调用)。这将确保代码仅在单元初始化时运行一次,而不是像在数据源方法中那样重复运行。