UIWebView - Потянув вниз веб-представление, а затем преобразовав его в изображение, вы видите пустую полосу вверху и недостающую информацию внизу?
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;
}
1 ответ
Очевидно, Apple решила, что UIWebView должен настроить вид прокрутки, который он содержит, для вставки, так как iOS 7 вышла.
Чтобы отключить это и полученную головную боль, я должен был использовать:
[self setAutomaticallyAdjustsScrollViewInsets = NO];
Или вы можете выбрать View Controller в раскадровке, где находится веб-представление, и снимите флажок с этого: