Проблемы с прокруткой UIWebView - PullRequest
1 голос
/ 24 января 2012

Я использую UIWebView, который часто обновляется с помощью

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL

Загруженная HTML-строка изменяется, чтобы выделить следующее слово, которое должен ввести пользователь. Чтобы прокрутить текст по мере ввода, я использую:

[webView stringByEvaluatingJavaScriptFromString:
         [NSString stringWithFormat: @"window.scrollBy(0, %d);", yScroll]];

, который вызывается внутри

-(void) webViewDidFinishLoad:(UIWebView *)webView

внутри делегата веб-представления.

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

Интересно, что это мерцание появляется на устройстве, но не на симуляторе.

Я попытался установитьсмещение альтернативно, например:

webView.scrollView.contentOffset = CGPointMake(0, yScroll);

, которое прокручивает веб-представление, но не влияет на мерцание.

Я также переопределил

- (void)webViewDidStartLoad:(UIWebView *)webView

и установил скрытыйсвойство веб-представления к YES, сделал прокрутку и открыл веб-представление в методе

-(void) webViewDidFinishLoad:(UIWebView *)webView

, но безрезультатно.

Моим последним средством было бы обрезать линии изHTML-строкакогда пользователь печатает, загружая обновленную строку каждый раз и полностью избегая прокрутки.

Прежде чем я пойду по этому пути, есть ли у кого-нибудь представление о том, как заставить прокрутку работать без "мерцания"?

Большое спасибо

...