如何防止UIView的drawRect清除以前drawRect调用绘制的路径?

Boo*_*oon 5 iphone cocoa-touch

每次调用UIView的drawRect时,前一个drawRect(使用Core Graphics)绘制的内容都会被清除.我怎样才能使之前drawRect调用所呈现的路径保持不变直到我明确清除它?

ala*_*dey 3

您基本上需要剪辑矩形中已进行更改的“脏”部分,并且只有这部分将被重新绘制。

- (void)setNeedsDisplayInRect:(CGRect)invalidRect
Run Code Online (Sandbox Code Playgroud)

  • 问题不在于 rect 没有重绘,而是当重新发出 drawRect 时,它会清除所有先前绘制的路径。这似乎是 Core Graphic 绘图例程的默认行为。 (2认同)