UIView.animation 没有动画颜色变化

UIView.animation not animating colour change

我的动画实际上并没有平滑颜色变化。这是我的代码:

UIView.animate(
    withDuration: 3.0,
    animations: { () -> Void in
        myLabel!.backgroundColor! = UIColor(
            red: 1.0,
            green: 1.0,
            blue: 1.0,
            alpha: 1.0
        )
    },
    completion: nil
)

此代码包含在一个 if 语句中,而该语句又位于一个函数中。 myLabel 是唯一的参数;它的类型是 UILabel?

我的应用有一个 UILabel 平移手势。当用户向上滑动时,颜色应该改变。如果背景颜色(这是另一个标签)是黑色,myLabel 应该动画变成白色。 (这是if声明)

我在我的应用程序中多次遇到同样的问题,而且每次都是相同的代码。 没有错误,但没有动画。

你可以试试这个代码

 UIView.transition(with: myLabel, duration: 0.4, options: .transitionCrossDissolve, animations: {
        self.myLabel.backgroundColor! = UIColor.init(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
    }) { (finish) in
    }