我正在创建一个简单的应用程序,当用户按下按钮时,屏幕上会绘制一系列线条,用户将能够看到实时绘制的这些线条(几乎就像动画一样) 。绘图动画
我的代码看起来像这样(被简化):
UIGraphicsBeginImageContext(CGSizeMake(300,300));
CGContextRef context = UIGraphicsGetCurrentContext();
for (int i = 0; i < 100; i++) {
CGContextMoveToPoint(context, i, i);
CGContextAddLineToPoint(context, i+20, i+20);
CGContextSetStrokeColorWithColor(context, [[UIColor blackColor] CGColor]);
CGContextStrokePath(context);
}
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我的问题是:
1)只要用户按下按钮时,UIThread块,直到图纸是完成。
2)我无法在屏幕上一次画出线条 - 我尝试在循环内直接设置UIImage,并尝试在循环内设置图层内容。
我该如何解决这些问题?
这有帮助吗? http://stackoverflow.com/questions/9245954/moving-an-image-along-a-series-of-cgpoints –
你想要什么样的延迟? – nielsbot
可定制的延迟会很好 - 我认为Rob有我在找的东西......感谢您的帮助! – HHHH