Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Objective c 在屏幕外绘制CoreGraphics以防止动画在过渡期间出现口吃?_Objective C_Ios_Xamarin.ios_Core Animation_Core Graphics - Fatal编程技术网

Objective c 在屏幕外绘制CoreGraphics以防止动画在过渡期间出现口吃?

Objective c 在屏幕外绘制CoreGraphics以防止动画在过渡期间出现口吃?,objective-c,ios,xamarin.ios,core-animation,core-graphics,Objective C,Ios,Xamarin.ios,Core Animation,Core Graphics,在我的应用程序中,有很多情况下,我使用CATTransition从一个视图转换到另一个视图。在视图转换到时,通常会有CoreGraphics绘制的图形。为了便于讨论,我们假设它是两个正方形。但是,在视图中设置动画时,动画在过渡过程中会在第一次绘制图形时出现短暂的停顿 是否有一种(希望很简单)方法可以在动画开始之前用自定义图形预先绘制此视图,这样就不会出现这种口吃?Set应该在层上光栅化到是。我已经有了这套,但当它滑入时,我仍然会口吃。我甚至通过将图形捕捉到位图中,并在图形所在的位置显示位图,然后

在我的应用程序中,有很多情况下,我使用CATTransition从一个视图转换到另一个视图。在视图转换到时,通常会有CoreGraphics绘制的图形。为了便于讨论,我们假设它是两个正方形。但是,在视图中设置动画时,动画在过渡过程中会在第一次绘制图形时出现短暂的停顿


是否有一种(希望很简单)方法可以在动画开始之前用自定义图形预先绘制此视图,这样就不会出现这种口吃?

Set
应该在层上光栅化

我已经有了这套,但当它滑入时,我仍然会口吃。我甚至通过将图形捕捉到位图中,并在图形所在的位置显示位图,然后在动画完成后将图像替换为图形,从而手动光栅化了图层,但仍然存在口吃。这不是我想要的答案,但可能对某些人有所帮助,因此我将其标记为答案,除非有人提出更好的解决方案。您使用的是什么CATTransition?CATTransitionPush,子类型是TransitionFromTop。请注意,在另一个实例中,我将新视图添加到当前视图的父视图中,位置为0480320480(远离屏幕底部),然后使用UIKit动画将当前视图设置为0,-480320480,并将新视图设置为0,0480320,然后从子视图阵列中删除旧视图。仍然有点口吃我已经设法通过在层上设置初始值来减少动画中的口吃(这是一种不透明度的变化),并且在播放动画之前尽可能早。