在-drawRect之后会发生什么:在UIView中调用?

时间:2012-10-09 08:19:14

标签: ios drawrect

在我的应用程序中的一个UIViews中,似乎在-drawRect:完成之前有一个延迟,然后才能在屏幕上显示内容。

在完成-drawRect:中的绘图和更新后的视图显示之间是否会发生某些事情?

2 个答案:

答案 0 :(得分:1)

UIView的drawRect:方法会自动调用drawLayer:inContext:方法。一旦发生这种情况,在drawRect:中执行的绘制操作将呈现给图像上下文。然后,视图层将其内容设置为来自上下文的此渲染图像。

drawRect:完成后你怎么知道延迟是?我建议对其进行分析以确定这是滞后的来源。未经优化的绘图肯定会导致延迟,但不要过早优化。

答案 1 :(得分:0)

在操作周期结束时收集并完成所有图纸更新。因此,如果您注意到延迟,则在渲染绘图更改之前还有其他过程要完成。此外,绘图是一个昂贵的过程。