美文网首页
iOS 屏幕截取

iOS 屏幕截取

作者: 雪中客 | 来源:发表于2016-03-24 15:34 被阅读141次

    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;
    }
    

    相关文章

      网友评论

          本文标题:iOS 屏幕截取

          本文链接:https://www.haomeiwen.com/subject/mkyrlttx.html