iOS7之后,使用snapshotViewAfterScreenUpdates:方法可以轻松的获取某个控件的截图,在iPhone7和7Plus中该方法失效,本人用以下方法替代。
代码为:
- (UIImageView*)imageFromView:(UIView*)snapView {
UIGraphicsBeginImageContextWithOptions(snapView.frame.size, NO, 0.0);
CGContextRefcontext =UIGraphicsGetCurrentContext();
[snapView.layerrenderInContext:context];
UIImage*targetImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView*imageView = [[UIImageViewalloc]initWithImage:targetImage];
imageView.frame= snapView.frame;
returnimageView;
}
UIGraphicsBeginImageContextWithOptions中的第三个参数设置为0.0时,获取的图片较为清晰,如果设置>0时,会有模糊效果。