Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
在iphonesdk中,将视图渲染为UIImages是否是处理动画的正确方法?_Iphone_Ios_Core Plot - Fatal编程技术网

在iphonesdk中,将视图渲染为UIImages是否是处理动画的正确方法?

在iphonesdk中,将视图渲染为UIImages是否是处理动画的正确方法?,iphone,ios,core-plot,Iphone,Ios,Core Plot,我一直在使用Core Plot为我一直在开发的iOS应用程序绘制一些图表。虽然core plot是一款出色的图表应用程序,但在任何类型的用户交互中,它都是一个性能猪。为了解决这个问题,我开始做以下许多工作: UIGraphicsBeginImageContext(view.bounds.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphics

我一直在使用Core Plot为我一直在开发的iOS应用程序绘制一些图表。虽然core plot是一款出色的图表应用程序,但在任何类型的用户交互中,它都是一个性能猪。为了解决这个问题,我开始做以下许多工作:

    UIGraphicsBeginImageContext(view.bounds.size);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
然后,在开始动画之前,我会将视图替换为视图的图像,这使它们更加平滑


从那时起,我开始在我的应用程序中更多地使用这个想法。在这个项目之前,我没有太多的iOS经验,也没有从更多的专家开发人员那里了解太多的资源。我只是想寻找一些反馈——我采用这种方法是否遗漏了要点?

我在一直致力于在视图之间渲染动画的OpenGLES动画框架中广泛使用了这种方法。我不知道你是否漏掉了要点,但如果你漏掉了,那么我也必须漏掉,只要它符合你在应用程序中想要做的事情,在我看来,这是一种很好的做事方式。

我想漏掉要点是一种糟糕的用词选择。我想我的意思是,这是那种会被有经验的objective c开发人员嘲笑的代码,他们会说“好吧,为什么不使用标准方法来做x呢?”。很高兴看到我不是唯一一个采用这种方法的人。我自己在这方面工作了3年,只有极少数情况下我会嘲笑自己的代码并继续这样做。:)你能详细解释一下你所说的“用视图的图像替换视图”是什么意思吗。我会将图像的帧设置为核心打印视图的帧,然后将图像添加为核心打印视图的superview的子视图。然后,我将从superview中删除核心打印视图。这种转换是视觉无缝的,并且允许在实际视图需要更长时间才能转换的情况下,图像的60fps动画