UIWebView -拉下网页视图,然后将其转换成图像,使空白条带出现在顶部,在底部丢失信息?
使用此代码拍摄一个长而细的网页视图的图像屏幕截图。它工作得很好,但是如果我用力拉下它,然后取下屏幕截图,根据我设置的背景色,我会在顶部得到一个空白带,底部没有相同大小的。。
我还是不明白?这是怎么回事?
- (UIImage *)convertToImage
{
// tempframe to reset view size after image was created
CGRect originalFrame = self.frame;
// set new Frame
CGRect frameForEntirePage = self.frame;
frameForEntirePage.size.height = [self sizeThatFits:[[UIScreen mainScreen] bounds].size].height;
self.frame = frameForEntirePage;
// do image magic
UIGraphicsBeginImageContext([self sizeThatFits:[[UIScreen mainScreen] bounds].size]);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
[self.layer renderInContext:resizedContext];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// reset Frame of view to origin
self.frame = originalFrame;
return image;
}发布于 2014-10-21 19:12:18
显然,苹果决定UIWebView应该将它包含的滚动视图调整为一个内嵌,自从iOS 7问世以来,情况就是如此。
要禁用这一点以及由此产生的头痛,我必须使用:
[self setAutomaticallyAdjustsScrollViewInsets = NO];或者,您可以在Web所在的Storyboard中选择,并取消选中以下内容:

https://stackoverflow.com/questions/26487285
复制相似问题