在iOS上绘制视图

时间:2010-09-04 04:21:50

标签: drawing ios

如何实现用户绘制的视图(专门签名)?我非常喜欢使用库或示例代码来自己实现它。

由于

1 个答案:

答案 0 :(得分:2)

绘制曲线只是一系列实心圆或小直线。一种差异化。

  1. 跟踪用户之前的&目前的接触点。 (UITouch
  2. 只需绘制一条连接点的线。 (或者绘制你想要的任何形状,只填补空白)
  3. <强>基本

    有一系列跟踪触摸的方法。

    – touchesMoved:withEvent:
    – touchesEnded:withEvent:
    – touchesCancelled:withEvent:
    

    这些方法在UIView上。(方法本身在UIResponder中定义,它是它的超类) 覆盖它们。在大多数情况下,跟踪触摸点不是问题。

    并向UIView本身发送setNeedsDisplay消息,使其无效图形状态,以便它很快重绘。

    覆盖drawRect的{​​{1}}方法,用 Quartz UIView)绘制所需的内容(如黑色磁盘)。您可以存储跟踪的触摸点以绘制每条线。基本上,你必须重绘所有的触摸轨迹。

    <强>优化

    • 您可以将绘制的图像缓存为位图(CGContext,可以检索CGImage)。因此,您只需绘制新添加的触摸点。
    • 您可以通过将绘图上下文设置为位图来直接绘制位图。并通过UIImage显示它。
    • 您可以使用OpenGL ES纹理绘图。这是最快的,但最难的。并且需要采用完全不同的方法来提高性能。

    更详细的信息和样本是我提到的方法/类的参考。我附上一个链接: http://developer.apple.com/iphone/library/navigation/index.html#section=Topics&topic=Graphics%20%26amp%3B%20Animation