IOS,Swift,动画链接,等待主线程直到链完成

Sid*_*off -3 animation ios swift

这个问题至少被问到我寻找答案的次数,但从未让我满意.我有一个52个子视图代表一副牌的视图.这些卡片出现在屏幕的中央,分成两叠牌,然后合并为一个洗牌的牌组.

如果我把self.standardShuffle()viewDidAppear(),实例化卡的图像后,它工作得很好.

但是,如果我self.standardShuffle()连续两次调用,第二个调用会捕获飞行中的第一个动画,并且动画会被破坏.必须有一种方法来阻止调用线程,直到动画链完成.定时器变得太笨重,我无法将所有代码放在动画块中(无论如何它都不起作用.)

有人有真正的答案吗?请.

mat*_*att 5

必须有一种方法来阻止调用线程

不,那里没有.永远不要阻止 从不.

如果你认为你看到的答案并不令人满意,你就没有仔细阅读过.读它们并相信它们.您可以轻松(并以多种不同的方式)安排第一个动画回叫; 是开始第二个动画的时刻.或者,创建一个连续执行两个动画的单个分组动画.

这些是您的选择 - 您唯一的选择.如果您发现难以与代码协调,那是因为您错误地构建了代码.重新构建它.使用框架,不要打架.