当我调用以下函数时,我得到2个错误:
1.条件向下转换为CoreFoundation类型'CGColor'将始终成功
2.Cannot分配'CGColor'类型的值?输入'UIColor?'
我刚刚开始,我使用Swiftify将其从旧的目标C代码转换。我希望颜色循环,它在ViewDidLoad
方法调用。
由于
func doBackgroundColorAnimation() {
var i: Int = 0
let colors = [UIColor.green, UIColor.yellow, UIColor.orange, UIColor.red]
if i >= colors.count {
i = 0
}
UIView.animate(withDuration: 2.0, animations: {() -> Void in
view.backgroundColor = colors[i] as? CGColor
}, completion: {(_ finished: Bool) -> Void in
i
self.doBackgroundColorAnimation()
})
}
答案 0 :(得分:0)
以下是代码段中的许多错误:
1:您似乎想要指定颜色:
您只需按colors[i].cgColor
此外,如果您想要来自UICooor的CGColor,请通过UIKit -> Drawing -> UIColor
2:注意:
UIColor类并没有从CGColor继承它为什么会这样做 无法从UIColor中投降。
继承 i
3:从完成中删除self.view.backgroundColor
。
4:在动画区块中添加自己{{1}}