iOS - заставить UIWebView загружать контент? - PullRequest
1 голос
/ 26 октября 2011

Я установил содержание UIWebView с помощью loadHtmlString:. Я не добавляю их в UIView, пока они не понадобятся, но мне нужно знать максимальную высоту прокрутки каждого из них.

Проблема в том, что UIWebView не начинает загружать свои данные, пока они не будут добавлены в superView, и именно задержка загрузки контента вызывает эту проблему.

Вопрос: Можно ли заставить UIWebView загрузить свое содержимое, не добавляя его в представление?

Ответы [ 3 ]

1 голос
/ 26 октября 2011

Я бы использовал hidden свойство UIWebView - установив его на YES перед добавлением представления и очистив его до NO в webViewDidFinishLoad:, добьемся цели.

Тем не менее, вы комментируете ответ @ logancautrell немного тревожно - планируете ли вы когда-нибудь добавлять в свои просмотры столько веб-просмотров? Я предполагаю, что вы это знаете, но на всякий случай: в зависимости от вашего возможного кода HTML (5) / JavaScript / CSS вы можете столкнуться с серьезным падением производительности даже при небольшом количестве веб-представлений, для которых iOS должна выделить много ресурсов.

Если вы планируете часто обновлять веб-представления, возможно, вы могли бы воспользоваться методом stringByEvaluatingJavaScriptFromString: в UIWebView? Думаю, что до некоторой степени удар по производительности может быть терпимым.

1 голос
/ 26 октября 2011

Я предлагаю либо предварительно рассчитать высоту прокрутки (не во время загрузки веб-просмотра), либо найти способ отобразить ваши UIViews, не дожидаясь изначально высоты прокрутки, и исправить их позже.

1 голос
/ 26 октября 2011

Вы можете добавить его в представление и установить его непрозрачность 0,01, чтобы усилить нагрузку.Я должен был сделать это с MKMapView раньше.

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