Нужно ли для рендеринга iPhone / iPad UIWebView быть активным представлением? - PullRequest
4 голосов
/ 24 марта 2012

Мне нужно отобразить веб-страницу вне экрана в растровое изображение, а затем показать пользователю растровое изображение. Это можно сделать с помощью простого кода в главном потоке, например:

NSString *urlAddress = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[offscreenWebView loadRequest:requestObj];

Или мне нужно прикрепить UIWebView к активному представлению?

В Android веб-представление не отображается, если оно не является частью активного представления. Поэтому для выполнения этой задачи в Android мне нужно создать иерархию представлений, создать активное представление для веб-рендерера, а затем поместить поверх него еще одно представление, чтобы оно могло отображаться за пределами экрана.

1 Ответ

5 голосов
/ 24 марта 2012

Я боролся с этой проблемой некоторое время сам. UIWebView не будет отображаться, если он не добавлен в объект UIWindow. Однако это не обязательно должно быть окно, которое вы используете для отображения своего приложения. Вы можете создать отдельный объект UIWindow и прикрепить к нему UIWebView, и он будет прекрасно отображаться. Однако рендеринг UIWebView - это медленный процесс, поэтому он будет иметь небольшую задержку, прежде чем он будет готов. Когда это будет сделано, он вызовет метод webViewDidFinishLoad для своего делегата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...