美文网首页
UIScrollView截屏

UIScrollView截屏

作者: XChn | 来源:发表于2017-06-27 15:23 被阅读0次
//2.UIScrollView截屏(一屏无法显示完整)
- (void)screenShot2{
    
    // 创建UIScrollView
    UIScrollView *m_scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    [self.view addSubview:m_scrollView];
    m_scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, SCREEN_HEIGHT * 1.5);
    for (int i = 0; i<20; i++) {
        UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(0, 60*i, SCREEN_WIDTH, 60)];
        [m_scrollView addSubview:lable];
        lable.backgroundColor = XCRandomColor;
    }
    
    // 截屏
    UIImage *image = nil;
    UIGraphicsBeginImageContext(m_scrollView.contentSize);
    {
        CGPoint savedContentOffset = m_scrollView.contentOffset;
        CGRect savedFrame = m_scrollView.frame;
        m_scrollView.contentOffset = CGPointZero;
        m_scrollView.frame = CGRectMake(0, 0, m_scrollView.contentSize.width, m_scrollView.contentSize.height);        [m_scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
        image = UIGraphicsGetImageFromCurrentImageContext();
        m_scrollView.contentOffset = savedContentOffset;
        m_scrollView.frame = savedFrame;
    }
    UIGraphicsEndImageContext();
    
    if (image != nil) {
        NSLog(@"截图成功!");
    }
    
    //写入相册
    UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
}

相关文章

网友评论

      本文标题:UIScrollView截屏

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