在我正在开发的应用程序中,我有一些UIImageViews(可能需要也可能不需要)进行自定义。如何在运行时更改原始加载为模板的图像的渲染模式?
答案 0 :(得分:1)
您可以从另一个UIImage
初始化一个cgImage
,然后根据需要进行渲染
示例代码
let originalImage = UIImage(named: "TimeClock2Filled")?.withRenderingMode(.alwaysOriginal)
if let original = originalImage?.cgImage {
let image2 = UIImage(cgImage: original).withRenderingMode(.alwaysTemplate)
}
示例代码Objective-C
UIImage * image = [[UIImage imageNamed:@"TimeClock2Filled"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
if(image.CGImage != nil) {
UIImage * image2 = [[UIImage imageWithCGImage:image.CGImage]imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
}
这个作品很好,已经过测试