我正在目标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仍在继续,因为它是完成处理程序,当它完成时无论如何都会运行(由于前面提到的原因我无法使用)。
有什么建议吗?
由于