我的动画实际上并未使颜色变化平滑。这是我的代码:
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
语句)
我在我的应用中多次遇到相同的问题,并且每次都有相同的代码。 没有错误,但是没有动画。
答案 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
}