我正在使用
UIView.animated(withDuration:animations:completion:)
功能,有时动画块中没有动画受到影响
例如:
让我们假设我有一个view
,并且它的frame.origin.y
已经等于0。
现在我不想制作的动画是:
UIView.animate(
withDuration: 1,
animations: {
self.view.frame.origin.y = 0
}
completion: { completed in
guard completed else { return }
// do something
}
)
在1秒后调用完成块,而不是立即调用。
如果没有任何持续时间的动画块中没有受到影响的动画,如何使完成块立即调用。
答案 0 :(得分:2)
这是您应该自己处理的事情,animations
不知道,您可以进行比较
if self.view.frame.origin.y != someValue {
// do animation
}
else {
// run some other code
}
答案 1 :(得分:1)
替换
withDuration: 1,
使用
withDuration: 0.01,
(甚至更少)