一,效果图。
二,工程图。
三,代码。
RootViewController.m
#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];if (self) {// Custom initialization}return self;
}- (void)viewDidLoad
{[super viewDidLoad];// Do any additional setup after loading the view.//UIViewUIView *view=[[UIView alloc]initWithFrame:CGRectMake(50, 100, 200, 50)];view.backgroundColor=[UIColor redColor];[self.view addSubview:view];//在UIImageView中显示截取的图片UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(50, 200, 200, 100)];imageView.image=[self screenShotView:view];[self.view addSubview:imageView];
}
#pragma -mark -functions
// 对指定视图进行截图
- (UIImage *)screenShotView:(UIView *)view
{UIImage *imageRet = nil;if (view){if(UIGraphicsBeginImageContextWithOptions){UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);}else{UIGraphicsBeginImageContext(view.frame.size);}//获取图像[view.layer renderInContext:UIGraphicsGetCurrentContext()];imageRet = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();}else{}return imageRet;
}- (void)didReceiveMemoryWarning
{[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}