Мой подход к этой проблеме заключался в создании метода для извлечения изображения.
В этом методе я на мгновение увеличиваю вид хостинга, вид с прокруткой, границы графика и границы области графика. Затем я конвертирую график в изображение.
Затем я удаляю вид хостинга из его контейнера, чтобы удалить его с экрана. Затем я вызываю метод doPlot для повторной инициализации графика и его данных с помощью метода DoPlot. Мой код ниже.
При выполнении этого может возникнуть визуальный джиттер. Тем не менее, вы всегда можете замаскировать это, используя предупреждение либо для ввода электронного письма для экспорта, либо просто с помощью простого предупреждения о том, что изображение экспортировано.
//=============================================================================
/**
Gets the image of the chart to export via email.
*/
//=============================================================================
-(UIImage *) getImage
{
//Temprorarilty make plot bigger.
// CGRect rect = self.hostingView.bounds;
CGRect rect = self.scroller.bounds;
rect.size.height = rect.size.height -100;
rect.origin.x = 0;
rect.size.width = rect.size.width + [fields count] * 100.0;
[self.hostingView setBounds:rect];
[scroller setContentSize: hostingView.frame.size];
graph.plotAreaFrame.bounds = rect;
graph.bounds = rect;
UIImage * image =[graph imageOfLayer];//get image of plot.
//Redraw the plot back at its normal size;
[self.hostingView removeFromSuperview];
self.hostingView = nil;
[self doPlot];
return image;
}//============================================================================