跨功能在iOS中线程同步动画

时间:2015-01-27 18:56:09

标签: ios objective-c multithreading animation

我正在目标C中编写iOS应用程序。在我的一个类(视图控制器)中,我有两个不同的功能。其中的每个函数都有一个动画调用(UIView animateWithDuration)。让我们将这些函数称为函数A和函数B,以及它们分别在动画A和动画B中调用的动画。动画A有点长且延迟,而B很快。

我绝对需要功能B中的动画才能在功能A中的动画完成后才开始运行。即动画B必须在动画A完成后运行。

我无法从动画A的完成块中调用动画B,因为动画B需要仅可用于功能B的参数才能运行:

FunctionA()
{
    AnimationA()
}

Function B(x, y, z)
{
    AnimationB(x, y, z)
}

我究竟如何解决这个问题?我尝试创建一个新的单独队列,然后在其上堆叠动画A和B调用,但它仍然无法正常工作。似乎不可避免地发生的是,我猜测实际的UIView animateWithDuration调用将总是产生自己的线程,因此我在队列中运行它的代码块将返回完成,即使它已经完成了#39 ; s仍在继续,因为它是完成处理程序,当它完成时无论如何都会运行(由于前面提到的原因我无法使用)。

有什么建议吗?

由于

0 个答案:

没有答案