У меня есть UIScrollView
decendent, который реализует метод takeScreenshot, который выглядит следующим образом:
-(void)takeScreenshot {
CGRect contextRect = CGRectMake(0, 0, 768, 1004);
UIGraphicsBeginImageContext(contextRect.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// do something with the viewImage here.
}
В основном это перемещается в верхнюю часть прокрутки и снимает снимок экрана с видимой области. Он отлично работает, когда iPad ориентирован на портрет, но когда он в ландшафте, снизу снижается изображение (поскольку высота видимой области составляет всего 748, а не 1004).
Можно ли получить снимок UIScrollView
, включая области, не отображаемые на экране? Или мне нужно прокрутить представление вниз, сделать вторую фотографию и сшить их вместе?