【问题标题】:Animating UISwitch 'onTintColor' property动画 UISwitch 'onTintColor' 属性
【发布时间】:2018-11-29 23:03:34
【问题描述】:

我正在尝试为开关的onTintColor 属性的颜色变化设置动画。当动画发生时,颜色立即改变,没有过渡,颜色部分扩展为一个矩形,然后返回到“剪裁”的圆角矩形色调颜色区域。

这是一个小视频:https://giphy.com/gifs/2A0JVhZmKwUtqJiqOT/html5

我尝试过使用UIView.animate(withDurationUIView.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

【问题讨论】:

  • 您应该为自己的问题添加一个答案,而不是编辑您的问题以包含答案。

标签: ios swift uiswitch


【解决方案1】:

使用CATransition 类,我可以为不同颜色之间的过渡设置动画,而无需我之前看到的“方形扩展”。

let transition = CATransition()
transition.type = CATransitionType.fade
transition.duration = 0.7
mySwitch.layer.add(transition, forKey: nil)
mySwitch.onTintColor = .red

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多