UIView.animation不动画颜色变化

时间:2019-05-01 12:59:49

标签: ios swift animation uiviewanimation

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

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语句)

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

1 个答案:

答案 0 :(得分:2)

您可以尝试使用此代码

 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
    }