我必须在矩形中绘制以下形状。最好的方法是什么?蓝色区域是背景颜色。黑色是边框,红色是内部颜色。我只想画黑色和红色。
由于
答案 0 :(得分:2)
这完全取决于你如何使用这个形状;是否会移动,将显示多少个,是否在显示时缩放等等。
通常,OpenGL ES被认为是在iOS设备上绘图的最快方式。但是,如果你只有少数这些形状(比如说,< 10~100?)而应用程序的另一部分没有很多快速动画,那么Quart 2D在绘图方面通常已经足够了,以便比方说,达到30 / 60Hz的绘图速度。
你如何使用Quartz2D仍然很重要。如果需要经常重绘形状,则需要在CALayers上绘制形状,而不是重新绘制形状,应移动和转换图层。
将绘图比较为位图和矢量形状,我相信这两种形状都可以正常工作(特别是因为你不重新绘制形状,但只能使用图层已经绘制了图像)。但是,如果您的形状经常缩放,您可以考虑矢量图像以获得图像的质量。
总结一下,学习(如果您还不知道)如何首先绘制图形上下文(请参阅 iOS绘图和打印指南)。您应该能够通过覆盖UIView对象内的drawRect
或类似方法来绘制简单的矢量形状或位图图像。然后,如果您需要为这些形状设置动画,请了解如何创建CALayer并在图层上绘制(请参阅核心动画编程指南)。最后,如果您需要在屏幕上创建许多形状的副本,请了解如何使用CGLayer复制图像(请参阅 Quartz 2D编程指南)。