UIView.transition 有延迟

Moc*_*cha 6 uiviewanimation ios swift

我有同时进行的动画,我想在中间过渡 VC(它会淡出,所以它会看到一些其他动画)。但是,我找不到如何延迟类似于 UIView.animateWithDuration 的转换的文档。

我想实现这个目标...

UIView.transition(withDuration: 0.5, delay: 0.1, options: .transitionCrossDissolve, animations: {})
Run Code Online (Sandbox Code Playgroud)

我可以像这样手动添加延迟..但想知道是否有更优雅的方法。

DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ion 0

很不幸的是,不行。使用一堆 UIView 转换/动画可能会有点麻烦。

过去,我曾尝试设置一个以 1/30 秒触发的 NSTimer,最终我自己管理了所有的开始时间。

您可以做的是使用闭包串联动画。

UIView.animate(withDuration: 1, animations: { 
}, completion: {Do UIView transition here})
Run Code Online (Sandbox Code Playgroud)