需要能够从除main之外的线程在屏幕上绘图。无法使用UIkit,因为它不是线程安全的。 Quartz 2D会在一个线程中工作吗?如果是这样,我如何进入屏幕放置图形?很明显,我是一个真正的新手与图形,任何帮助将不胜感激。
答案 0 :(得分:0)
是Quartz可以在线程中工作。但是,您无法在其他线程中创建上下文。您必须从主线程传递上下文。我相信在-drawRect方法中创建一个CGContextRef并将其传递给线程。请注意上下文不要超出范围或仅保留其参考。
如何获得一个屏幕放置图形..好吧,因为我说你需要一些地方来创建一个上下文,可能是NSVIew的一些派生类。然后在-drawRect方法中创建一个上下文并将其传递给线程。
CGContextRef contextref =(CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
干杯!