【发布时间】:2019-07-11 12:18:35
【问题描述】:
我正在使用
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 秒后调用,而不是立即调用。
如果动画块中没有任何动画影响而没有任何持续时间,我如何才能使完成块立即调用。
【问题讨论】:
-
从技术上讲,我相信如果你分配给一个动画属性,即使动画对用户来说是不明显的,仍然会有一个动画,所以仅仅因为
origin.y已经是0并不意味着不会不是动画。您需要自己检查这种情况,而不是动画。
标签: ios swift animation uiview duration