iOS 屏幕截屏

997 阅读1分钟

.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);