截取屏幕图片

使用drawViewHierarchyInRect:afterScreenUpdates方法截图的代码:

#pragma mark - 截取当前屏幕

- (NSData*)dataWithScreenshotInPNGFormat

{

    UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 0.0);

    if([self.viewrespondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) {

        [self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:YES];//

    }

    else{

        [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

    }

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return UIImageJPEGRepresentation(image,0.2);

}

此方法截图不显示导航栏,使用[UIScreen mainScreen].bounds能截图出导航栏

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容