我有一个 UIView BoardView 我在其中画线。当我在表格视图中推送一个单元格时,我在 BoardView 中画了一条线。
当我按下第一个单元格时,一切正常,线条被绘制出来。现在,如果我按下第二个单元格,我想擦除第一行并绘制第二行。
我有一个布尔值来知道我是否必须画线。
在 viewController 中:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(self.boardView.drawLine) {
self.boardView.drawLine = NO;
[self.boardView setNeedsDisplay]; //redisplay the context without lines
}
Path * path = [self.grid.sommesPathArray objectAtIndex:indexPath.row];
[self.boardView drawPath:path];
self.boardView.drawLine = YES;
[self.boardView setNeedsDisplay]; // display the context with a line
}
在 BoardView.m 中:
- (void)drawRect:(CGRect)rect {
if (self.drawLine) {
for(Line * line in lines)
[self drawLineWithContext: UIGraphicsGetCurrentContext() andLine:line]; //draw lines
}
}
我的问题是这些行没有被删除。