【问题标题】:Drawing view on iOSiOS 上的绘图视图
【发布时间】:2011-04-08 03:22:52
【问题描述】:

如何实现一个供用户绘制的视图(特别是签上他们的名字)?我更喜欢一个库或示例代码来自己实现它。

谢谢

【问题讨论】:

    标签: drawing ios


    【解决方案1】:

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

    1. 跟踪用户以前和当前的接触点。 (UITouch)
    2. 只需画一条连接点的线。 (或者画任何你想要的形状,填补空白)

    基础知识

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

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

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

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

    覆盖UIViewdrawRect 方法以使用Quartz (CGContext) 绘制您需要的东西(例如黑色磁盘)。您可以存储跟踪的接触点来绘制每条线。基本上,你必须重绘所有的触摸轨迹。

    优化

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多