3

意图:创建CGLayer屏幕外,从第二个线程在其上绘制一些复杂的东西,然后在主线程上使用它来快速绘制

问题: CGLayerCreateWithContext(context, size, info)期望一个已经存在的CGContext,以便它知道需要优化什么样的上下文。

到目前为止我找到的解决方案: CGContextRef ctx = UIGraphicSetCurrentContext() 但是这个功能似乎不再存在了。

问题:没有其他方法可以访问默认上下文之类的内容吗?还是我真的需要等待第一次drawRect:调用只是为了从主线程访问UIGraphicsGetCurrentContext()和创建所有CGLayers内容,而浪费了一次绘图运行?

4

1 回答 1

1

您可以通过执行以下操作来创建图像上下文:

UIGraphicsBeginImageContext(rect);
    // your drawing code
UIGraphicsEndImageContext();

话虽如此,我不确定您是否可以从主线程以外的线程执行此操作。不过值得一试。

于 2011-12-26T21:18:46.837 回答