我正在使用经常使用
更新的UIWebView- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
加载的html字符串更改以突出显示用户必须输入的下一个单词。要在用户输入时滚动文本,我使用:
[webView stringByEvaluatingJavaScriptFromString:
[NSString stringWithFormat: @"window.scrollBy(0, %d);", yScroll]];
,在
中调用-(void) webViewDidFinishLoad:(UIWebView *)webView
在网络视图委托中。
虽然这样可行,但每次加载时,Web视图都会滚动到顶部,然后滚动到正确的位置,这会导致不希望的闪烁。
有趣的是,这个闪烁出现在设备上,但不在模拟器上。
我尝试过设置偏移量,如:
webView.scrollView.contentOffset = CGPointMake(0, yScroll);
滚动网页视图,但对闪烁没有影响。
我也覆盖了
- (void)webViewDidStartLoad:(UIWebView *)webView
并将Web视图的隐藏属性设置为YES,进行滚动,并在
中显示Web视图-(void) webViewDidFinishLoad:(UIWebView *)webView
方法,但没有实际效果。
我的最后一种方法是在用户输入时修剪html字符串中的行,每次加载更新的字符串并完全避免滚动。
在我走这条路之前,有没有人知道如何在没有“闪烁”的情况下让滚动工作?
非常感谢