iOS 屏幕截取

1.截取特定view

- (UIImage*)screenView:(UIView *)view{
    if(&UIGraphicsBeginImageContextWithOptions != NULL)
    {
        UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
    } else {
        UIGraphicsBeginImageContext(view.frame.size);
    }
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

2.截取scrollView的所有,包括下面没显示的(UITabelview,UIWebView类似)

- (UIImage*)getCapture
{
    
    UIImage* viewImage = nil;
    UIScrollView *scrollView = self.webView.scrollView;
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, scrollView.opaque, 0.0);
    {
        CGPoint savedContentOffset = scrollView.contentOffset;
        CGRect savedFrame = scrollView.frame;
        
        scrollView.contentOffset = CGPointZero;
        scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height);
        
        [scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
        viewImage = UIGraphicsGetImageFromCurrentImageContext();
        
        scrollView.contentOffset = savedContentOffset;
        scrollView.frame = savedFrame;
    }
    UIGraphicsEndImageContext();
    
    return viewImage;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,415评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,966评论 25 709
  • 仿写加黑加粗部分的语言。 这位“吃穿山甲”的年轻人如此迷恋于权力和“上层路线”,让人不得不怀疑,他的心里其实住着一...
    小贤哥2017阅读 1,625评论 12 2
  • 我正全力奔跑在大数据这条不归路上,我将平时的点滴积累下来分享给大家。 个人感悟: 一个人最好的镜子就是自己,你眼中...
    辉格食品阅读 5,069评论 0 2
  • 看美剧《纸牌屋》的时候看到了简书的广告。于是在好奇心的驱使下下来看看。感觉这里应该是一个充满文艺的小圈子。至少我在...
    u293662阅读 2,578评论 0 0

友情链接更多精彩内容