我正在尝试对由程序加载的animationImages组成的UIImageView应用色调。目前使用的是iOS 9.3。
我认为我已经尝试了在此处找到的所有提议的解决方案,包括:
- 在加载时设置.renderMode:let newImage: UIImage? = UIImage(named: filename as String)!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) - 使用Storyboard或编程方式设置tintView:zeroImageView.tintColor = UIColor.redColor() - 通过UIImageView本身设置图像.renderMode:zeroImageView.image = zeroImageView.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) - 通过接口生成器设置UIImageView的renderMode用户定义的运行时属性:imageRenderingMode Number 2
图像序列是具有透明度的PNG,因此,我想重新着色图像并保持透明度。
我没有成功,有点茫然。想知道这些方法是否仅适用于静止的UIAnimationView?非常感谢您的帮助!
以下是一些代码:
我认为我已经尝试了在此处找到的所有提议的解决方案,包括:
- 在加载时设置.renderMode:let newImage: UIImage? = UIImage(named: filename as String)!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) - 使用Storyboard或编程方式设置tintView:zeroImageView.tintColor = UIColor.redColor() - 通过UIImageView本身设置图像.renderMode:zeroImageView.image = zeroImageView.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) - 通过接口生成器设置UIImageView的renderMode用户定义的运行时属性:imageRenderingMode Number 2
图像序列是具有透明度的PNG,因此,我想重新着色图像并保持透明度。
我没有成功,有点茫然。想知道这些方法是否仅适用于静止的UIAnimationView?非常感谢您的帮助!
以下是一些代码:
// Load all images
while let element = enumerator.nextObject() as? String {
if element.hasSuffix("png") {
let filename: NSString = "Digits/0/" + element
print(filename)
imageNames.append(filename as String)
let newImage: UIImage? = UIImage(named: filename as String)!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
images.append(newImage!)
zeroImageView.tintColor = UIColor.redColor()
}
}
// Make animated UIImageView
zeroImageView.userInteractionEnabled = false
zeroImageView.animationImages = images
zeroImageView.animationDuration = 2.0
zeroImageView.startAnimating()
zeroImageView.tintColor = UIColor.redColor()