我有一个TestView
继承自UIView
,所有内容都是使用drawRect
方法在屏幕上绘制的。
但如果我不希望drawRect
在绘图前清除视图,我会使用
self.clearsContextBeforeDrawing = NO;
self.opaque = NO; // also added because the doc says the rect
// passed to drawRect will be filled with
// background color first if it is set to YES
在initWithFrame
方法中。
使用
调用drawRect
方法
[self.view setNeedsDisplay];
在ViewController
事件处理程序中。 (用于touchesMoved事件)
但是,在绘制任何东西之前,一切都已清除了?如何使它工作?
答案 0 :(得分:3)
我认为this会回答你的问题。从答案:
您无法通过执行以下操作来阻止删除内容:
[self setClearsContextBeforeDrawing:NO];
这仅仅是对图形引擎的暗示,没有必要让它为您预先清除视图,因为您可能需要重新绘制整个区域。它可能会阻止您的视图被自动删除,但您无法依赖它。