Преобразование содержимого UIWebview в UIImage
Я использую UIWebView для отображения текста в формате HTML. Я не загружаю веб-страницу, просто поставляя строку HTML в UIWebView.
Теперь я хочу анимировать этот UIWebView на экране, на самом деле несколько из них (по 2-10 за раз). UIWebView немного тяжелый, и, хотя я еще не пытался его, я планирую худшее. (Я не думаю, что это преждевременная оптимизация, я почти уверен, что это будет проблемой)
Чтобы обойти эту проблему, я решил, что смогу преобразовать содержимое UIWebViews в UIImages и анимировать их.
Итак, мои вопросы:
- Как вы конвертируете UIWebview
содержимое в UIImage (или
CGImageRef)?
- Мои UIWebViews имеют
прозрачных баз, будет
прозрачность переносится на
UIImage?
Спасибо за любые предложения
Ответы
Ответ 1
UIGraphicsBeginImageContext(webview.bounds.size);
[webview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Вы можете столкнуться с проблемами, если размеры веб-просмотра велики, потому что веб-просмотр использует CATiledLayer
, который не рисует все по причинам памяти.
Изображение будет включать прозрачность
Ответ 2
Я мог ошибаться, но если вы установите параметр кэша CoreAnimation, OS будет обрабатывать эту оптимизацию для вас.
например.
[UIView setAnimationTransition:transition forView:self.view cache:YES];