Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Quartz2D在触摸屏上画点或线的好方法?_Ios_Iphone_Core Graphics_Quartz 2d - Fatal编程技术网

Ios Quartz2D在触摸屏上画点或线的好方法?

Ios Quartz2D在触摸屏上画点或线的好方法?,ios,iphone,core-graphics,quartz-2d,Ios,Iphone,Core Graphics,Quartz 2d,我正在尝试开发一个应用程序,需要基于用户触摸绘制。我正在使用Quartz2D和CoreGraphics进行绘图,现在我想知道管理我正在绘制的点的好方法是什么?目前,我正在将每个touchMoved点添加到一个数组中,并设置需要在每次移动时显示它们。这使系统很快落后。因此,我想知道是否有人知道一种好方法,可以在很长的时间内使用用户触摸平滑地绘制图形?谢谢 触发触摸事件的频率非常高。由于quartz2d速度较慢,您的系统将饱和 几种选择 切换到opengl^^(这是一种过度使用) 不要在每一个事件

我正在尝试开发一个应用程序,需要基于用户触摸绘制。我正在使用Quartz2D和CoreGraphics进行绘图,现在我想知道管理我正在绘制的点的好方法是什么?目前,我正在将每个touchMoved点添加到一个数组中,并设置需要在每次移动时显示它们。这使系统很快落后。因此,我想知道是否有人知道一种好方法,可以在很长的时间内使用用户触摸平滑地绘制图形?谢谢

触发触摸事件的频率非常高。由于quartz2d速度较慢,您的系统将饱和

几种选择

  • 切换到opengl^^(这是一种过度使用)

  • 不要在每一个事件上都抽签。让你触摸进入睡眠状态(实际上,这是一款android soluiton,所以我不确定它对Iphone是否有好处),只需在x线中画1

  • 将触摸的坐标存储在某个位置,当应用程序准备刷新ui时,获取存储的当前值并绘制

  • 我提出的另一个解决方案是测试新位置是否实际从las绘图移动了超过一定量(比如1~3像素),这样,如果更新的位置太小,我可以避免刷新和重画

这只是一些提示,可能有一个更好的选项适合您使用case^^

切换到opengl^^(这是一个过分的做法)
您可以添加注释来总结这一行。我想切换到openGL,但在此之前,我想知道你的评论背后的原因。