Ios5 删除持久的drawRect

Ios5 删除持久的drawRect,ios5,uiview,core-graphics,drawrect,Ios5,Uiview,Core Graphics,Drawrect,我终于得到了一个一直没有用的DrawRect (我还有SetClearContextBeforeDrawing:是) 这会在绘制时留下一条线 我的问题是当draw为NO时[UIColor clearColor]不擦除我应该使用什么来擦除?提前感谢,因为clearColor的alpha值为零,使用它绘图通常没有任何效果。您需要将上下文的混合模式设置为kCGBlendModeCopy,以使其生效 但是,如果要擦除,只需将上下文的混合模式设置为kCGBlendModeClear,如果要绘制,则返回到k

我终于得到了一个一直没有用的DrawRect (我还有SetClearContextBeforeDrawing:是)

这会在绘制时留下一条线

我的问题是当draw为NO时[UIColor clearColor]不擦除我应该使用什么来擦除?提前感谢

,因为
clearColor
的alpha值为零,使用它绘图通常没有任何效果。您需要将上下文的混合模式设置为
kCGBlendModeCopy
,以使其生效

但是,如果要擦除,只需将上下文的混合模式设置为
kCGBlendModeClear
,如果要绘制,则返回到
kCGBlendModeNormal

if (draw) {
    CGContextSetBlendMode(drawingContext, kCGBlendModeNormal);
    CGContextSetStrokeColorWithColor(drawingContext, [UIColor  whiteColor] CGColor]);
} else {
    CGContextSetBlendMode(drawingContext, kCGBlendModeClear);
}
@rob:使用“kCGBlendModeClear”删除图形。。但它也会清除图像视图中的图像集(Iam尝试在图像上绘制)。有什么想法吗?
if (draw) {
    CGContextSetBlendMode(drawingContext, kCGBlendModeNormal);
    CGContextSetStrokeColorWithColor(drawingContext, [UIColor  whiteColor] CGColor]);
} else {
    CGContextSetBlendMode(drawingContext, kCGBlendModeClear);
}