Uiimage 未考虑模糊效果的iOS7屏幕截图

Uiimage 未考虑模糊效果的iOS7屏幕截图,uiimage,ios7,calayer,cgcontextref,Uiimage,Ios7,Calayer,Cgcontextref,我正在用这个代码截屏 - (UIImage *)screenshot { UIGraphicsBeginImageContext(self.bounds.size); [self.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();

我正在用这个代码截屏

- (UIImage *)screenshot {
    UIGraphicsBeginImageContext(self.bounds.size);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}
但是结果图像没有正确显示alpha和模糊效果


有没有办法解决这个问题?

当你查看“RenderContext”的文档时,你会发现它在动画等方面有一些缺点。如果不需要直接拍摄图层的屏幕截图,可以试试这个

- (UIImage *)screenshot {
    UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 0);
    [self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:NO];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}