我有一个设置,我需要渲染3个图像并混合它们。我在drawRect
中使用它[self.backImage.image drawInRect:self.backImage.frame blendMode:kCGBlendModeNormal alpha:1.0];
我在UIImageView上进行了一些转换,然后调用setNeedsDisplay来标记Parent视图以触发drawRect。当drawRect再次触发时,似乎再次渲染图像而不删除旧图像。
我在父级和图片视图上设置了clearsContextBeforeDrawing
,但它似乎无法解决问题。
如何在清除旧图像之前清除旧图像?这几乎就像使用drawInRect渲染图像一样,它们被遗忘了。
答案 0 :(得分:0)
您是否尝试过kCGBlendModeClear
?这可以让你在绘制新内容之前清除它。
或者,您可以尝试将绘图绘制到屏幕外位图上下文中。然后在drawRect
中,从此屏幕外缓冲区复制到视图。这可能会成功绘制旧图像。
修改:在绘制新内容之前,您基本上会使用kCGBlendModeClear
作为橡皮擦。