Я пытаюсь загрузить веб-представление с данными во время анимации прокрутки. Анимация вызова такова:Загрузка UIWebView блокирует анимацию прокрутки
[scrollView scrollRectToVisible:aFrame animated:YES];
Проблема, если процесс загрузки веб-вид перекрывается с Scrollview анимации, анимация заикался, происходит не плавная анимация. Похоже, что процесс загрузки блокирует основной поток, поэтому анимация не работает должным образом.
Что я могу сделать, чтобы решить эту проблему? В некоторых сообщениях люди предлагают разместить webview в качестве подсмотра в последней части
- (void)webViewDidFinishLoad:(UIWebView *)theWebView
способ. Но загруженные данные не видны, если мне это нравится.
Спасибо за помощь.
EDIT 1:
@Vlad
Это решение не работает я думаю. Я звоню WebView нагрузки, как это:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) {
[_webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:path]];
});
Но я вижу, что хотя loadHTMLString: BaseUrl: метод вызывается в не основной поток,
- (void)webViewDidStartLoad:(UIWebView *)theWebView
и
- (void)webViewDidStartLoad:(UIWebView *)theWebView
методы вызывается в основном потоке. Таким образом, этот метод не дал мне улучшения.
Также в качестве детали время между методами webViewDidStartLoad и webViewDidFinishLoad составляет около 0,3 секунды.
Что еще делать?
remmeber для использования __блока для вашего ivar –
Умм, я попробую завтра. Я думал, что любой метод компонента пользовательского интерфейса должен быть вызван в основном потоке. – manuyavuz
@ Vlad, я попробовал ваше решение, но оно не работает. Детали находятся на моем редактировании. – manuyavuz