我正在尝试为开关的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
答案 0 :(得分:0)
使用CATransition
类,我可以为不同颜色之间的过渡设置动画,而无需像以前那样看到“正方形扩展名”。
let transition = CATransition()
transition.type = CATransitionType.fade
transition.duration = 0.7
mySwitch.layer.add(transition, forKey: nil)
mySwitch.onTintColor = .red