是否可以在iOS模拟器中捕获整个网页的屏幕截图?

时间:2013-12-16 12:03:39

标签: ios iphone objective-c ios-simulator webpage-screenshot

目前我制作“传统”截图并使用图形编辑器将它们组合在一起以显示完整的网页。有没有更有效的方法来制作完整网页的屏幕截图,就像使用Awesome Screenshot用于Google Chrome一样?

(不,我没有iPhone;)

2 个答案:

答案 0 :(得分:0)

你必须自己写。

  1. 在您的应用内创建全屏webView
  2. 打开要打开的页面
  3. 操作属性webView.scrollView以成功移动到页面底部。
  4. 每次捕获屏幕截图
  5. 如果你在底部合并截图到一个大图片。
  6. 我相信这是一种最简单的方法,可以在模拟器上运行。

答案 1 :(得分:0)

请参阅下面的代码。

-(NSData *)getImageFromView:(UIView *)view  // Mine is UIWebView but should work for any
{
    NSData *pngImg;
    CGFloat max, scale = 1.0;
    CGSize viewSize = [view bounds].size;
// Get the size of the the FULL Content, not just the bit that is visible
CGSize size = [view sizeThatFits:CGSizeZero];

// Scale down if on iPad to something more reasonable
max = (viewSize.width > viewSize.height) ? viewSize.width : viewSize.height;
if( max > 960 )
    scale = 960/max;

UIGraphicsBeginImageContextWithOptions( size, YES, scale );

// Set the view to the FULL size of the content.
[view setFrame: CGRectMake(0, 0, size.width, size.height)];

CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];    
pngImg = UIImagePNGRepresentation( UIGraphicsGetImageFromCurrentImageContext() );

UIGraphicsEndImageContext();
return pngImg;    // Voila an image of the ENTIRE CONTENT, not just visible bit

}

我从this链接获得了此代码。希望它会对你有所帮助。