//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);
}
网友评论