我制作了自己的自定义UIView,它在UIView的左上角显示了一个标签,以及一些边框。
在自定义UIView(AdventDoor)中,我创建了一个名为animateChanges()的方法。这就是方法中的内容:
func animateChanges()
{
UIView.animate(withDuration: 1.5, animations: {
self.layer.backgroundColor = UIColor.white.cgColor
})
}
这个视图的初始颜色是UIColor.red,我想要的是背景颜色在1.5秒内淡化为白色,然而,背景在没有动画的情况下立即跳转到白色。
这就是我的draw方法中的内容:
override func draw(_ rect: CGRect) {
if(self.tag < 25)
{
doorNumber.text = "\(self.tag)"
} else {
doorNumber.text = "25"
}
self.addSubview(doorNumber)
}
如何使视图背景颜色从红色变为白色?我也尝试将UIView.animate更改为AdventDoor.animate
我还在self.backgroundColor = UIColor.clear
代码之前添加了代码UIView.animation
,由于某种原因,动画也可以运行。唯一的问题是,我希望它从红色变为白色而不是从白色淡化到白色。
答案 0 :(得分:0)
通常它应该适用于视图。但如果您的观点基于UILabel,请查看此处:How to animate the background color of a UILabel?