Swift iOS 背景颜色 以定时器方式查看动画

Swift iOS Background Color View animation as Timer

我正在尝试让 viewController 的背景从蓝色开始。随着一分钟的过去,我希望蓝色在 60 秒内在屏幕上慢慢下降。它已经完成,但屏幕不是白色的。

这是我试过的。 我创建了一个蓝色视图并将屏幕高度除以 120。每 1/2 秒使用一个预定计时器,我将屏幕降低 1/120。

可以用,但看起来不太好。我怎样才能以一种看起来非常流畅的方式对其进行动画处理。

为什么你需要为此使用计时器?只需使用动画块。

UIView.animate(withDuration: 60, delay: 0, options: [.allowUserInteraction], animations: {
    // If you are not using autolayout, just animate the frame. 
    topAnchorConstraint.constant = -view.frame.height // Or any horizontal anchor
    view.layoutIfNeeded()
}, completion: nil)

由于此动画超过 60 秒,我假设您在动画期间需要用户交互,您可以在 options 参数中设置它。

P.S: 您需要在该视图下方使用白色的另一个视图才能实际显示其下方的白色视图。