我将一系列 PNG 文件作为 UIImages 数组加载,并希望为它们制作动画。这个想法是 PNG 有一些不透明度,我想为它们设置动画以通过透明 channel 显示背景。当我将 UIImageView alpha 设置为 0(通过显示背景)时,默认行为是 UIImageView 将其背景的 alpha 与 UIImage 相乘,所以现在我得到动画的实体部分具有一定的透明度,肯定有改变这种 alpha 混合行为的方法,如果不是对苹果部分的严重疏忽的话。动画的基础肯定是在背景之上叠加移动图像吗?
var images : [UIImage] = [UIImage]()
var i = 0
for i = 0; i < 32; i += 1 {
let image = UIImage(named: "boost_\(i)")
images.append(image!)
}
imageView.alpha = 0
imageView.animationImages = images
imageView.animationDuration = 1
imageView.animationRepeatCount = 1
imageView.startAnimating
图片/动画的黄色部分应该是纯色
最佳答案
您不需要将 UIImageView 上的 alpha 设置为 0。只需将 ImageView 的背景设为透明即可。
imageView.backgroundColor = UIColor. clearColor()
imageView.opaque = NO
关于ios - 在 UIImageView 动画上停止 Alpha 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37663716/