Я использую в своем приложении webViewDidFinishLoad
, и есть что-то около UIWebView
, что действительно меня задевает, ну, на самом деле, две вещи. Во-первых, когда я загружаю новый контент к UIWebView
я буду видеть на полсекунды последней страницы, которая была загружена в то же UIWebView
, что заставит меня «чистый» UIWebView
используя что-то вроде:webViewDidFinishLoad закончил загрузку, но не закончил показ содержимого на экране
[_mainWebView stringByEvaluatingJavaScriptFromString:@"document.open();document.close();"];
перед загрузкой нового контента.
Второй вопрос у меня есть, и это главная проблема для этого вопроса является то, что если я буду загружать некоторое новое содержание моего UIWebView
и сделать что-то вроде этого:
[_mainWebView loadHTMLString:htmlString baseURL:nil];
...
- (void)webViewDidFinishLoad:(UIWebView *)webView {
_mainWebView.alpha = 1;
}
В некоторых случаях UIWebView
покажет до белого цвета на полсекунды, прежде чем показывать содержимое. Я предполагаю, что содержимое уже загружено в UIWebView
, и именно поэтому webViewDidFinishLoad:webView
увольняется, но для небольших страниц html, показывающих контент, становится больше, чем фактическая нагрузка. Есть ли способ обхода, который я могу использовать, чтобы избежать пустого экрана, который показывается в течение секунды или около того, но все же сохранить эту секунду?
Я думал об анимации альфа от 0 до 1, но это решение кажется мне хромым.
У вас есть контроль над HTML? Или вы хотите загрузить и обработать html? Если это так, вы можете добавить javascript на страницу, которая выполняет обратный вызов в вашем приложении ... – Wain
Я загружаю htmls перед его отображением. Звучит интересно, я готов попробовать. :) – Segev
Показанный код на самом деле не так уж много. Пожалуйста, вы можете предоставить еще несколько, чтобы показать, что именно вы делаете. – Popeye