iOS屏幕截图功能

来源:互联网 发布:数据库的api接口 编辑:程序博客网 时间:2024/04/27 19:11

iOS7.0之前的系统,可以通过以下代码实现截屏功能。

- (UIImage *)captureImageFromView:(UIView *)view{    CGRect screenRect = view.bounds;    UIGraphicsBeginImageContext(screenRect.size);    CGContextRef contextRef = UIGraphicsGetCurrentContext();    [view.layer renderInContext:contextRef];    UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    return returnImage;    // UIImage.size == view.bounds.size}

iOS7.0之后,系统中封装了截屏的方法

- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates

方法调用示例

UIView *redView = [[UIView alloc]initWithFrame:CGRectMake(100, 300, 200, 200)];    redView.backgroundColor = [UIColor redColor];    [self.view addSubview:redView];    UIView *captureView = [redView snapshotViewAfterScreenUpdates:YES];    [self.view addSubview:captureView];    // captureView.frame == (0,0,200,200)

效果图如下:
截屏效果图

0 0