.h文件
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface UIView (ImageScreenShot)
// 截屏View
- (UIImage *)imageScreenShot;
@end
NS_ASSUME_NONNULL_END
.m文件
#import "UIView+ImageScreenShot.h"
@implementation UIView (ImageScreenShot)
- (UIImage *)imageScreenShot
{
UIGraphicsBeginImageContext(self.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[self.layer renderInContext:ctx];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
@end
调用方法
UIImage *img = [self.view imageScreenShot];
//将图片保存到本地相册
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);