我正在渲染多个图层以获得最终图像。其中一个图像包含一个面,另一个包含一个背景,在面部周围有透明渐变,以便隐藏真实背景。在iOS6中,它可以很好地工作,但它在iOS7中使用透明渐变创建了一种奇怪的效果。
代码:
CGRect rect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[faceImageView.layer renderInContext:context];
[fakeBackgroundImageView.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
iOS6和iOS7中的结果:
答案 0 :(得分:6)
好的,解决方案正在改变这一行:
UIGraphicsBeginImageContext(rect.size);
这个:
UIGraphicsBeginImageContextWithOptions(rect.size, TRUE, [[UIScreen mainScreen] scale]);
现在它也适用于iOS7