同时动画相互阻挡

时间:2011-09-19 16:31:26

标签: ios multithreading animation core-animation

我们的iPad应用程序有一个主要的UIViewController视图,其中包含几个带有自己任务的子视图,它们包含uitableviews,图像库,图形和代码。我们还确保每个子视图都是自己的控制器类来管理动画和用户交互。

问题在于,每当我们与tableView,自动收录器和图库(也有自动动画)进行交互时,动画会相互阻挡。

我们可以尝试同步动画的方法吗? 我们是否应该尝试直接使用具有核心动画的图层或在同一动画块中执行所有动画?

感谢。

1 个答案:

答案 0 :(得分:1)

这是一些有用的代码:

// We schedule a timer for a desired 30fps animation rate.
// In performAnimation: we determine exactly
// how much time has elapsed and animate accordingly.
timer = [[NSTimer scheduledTimerWithTimeInterval:(1.0/30.0) target:self selector:@selector(performAnimation:) userInfo:nil repeats:YES] retain];

// The next two lines make sure that animation will continue to occur
// while modal panels are displayed and while event tracking is taking
// place (for example, while a slider is being dragged).
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSModalPanelRunLoopMode];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSEventTrackingRunLoopMode];