iOS7.0之前的系統(tǒng),可以通過(guò)以下代碼實(shí)現(xiàn)截屏功能。
- (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之后,系統(tǒng)中封裝了截屏的方法
- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates
方法調(diào)用示例
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)
效果圖如下:截屏效果圖