【发布时间】:2018-11-29 23:03:34
【问题描述】:
我正在尝试为开关的onTintColor 属性的颜色变化设置动画。当动画发生时,颜色立即改变,没有过渡,颜色部分扩展为一个矩形,然后返回到“剪裁”的圆角矩形色调颜色区域。
这是一个小视频:https://giphy.com/gifs/2A0JVhZmKwUtqJiqOT/html5
我尝试过使用UIView.animate(withDuration 和UIView.transition,但得到了相同的结果。
UIView.transition(with: multiplierSwitch, duration: 0.7, options: [.transitionCrossDissolve], animations: {
self.mySwitch.onTintColor = UIColor.red
}, completion: nil)
感谢任何帮助。谢谢。
解决方案编辑:使用CATransition 类,我可以在没有我之前看到的“方形扩展”的情况下为不同颜色之间的过渡设置动画。
let transition = CATransition()
transition.type = CATransitionType.fade
transition.duration = 0.7
mySwitch.layer.add(transition, forKey: nil)
mySwitch.onTintColor = .red
【问题讨论】:
-
您应该为自己的问题添加一个答案,而不是编辑您的问题以包含答案。