这个在iOS 4下运行良好的UIWebView代码在iOS 5中不再有效:
// webView is UIWebView loaded with a local PDF file
NString *s = [webView stringByEvaluatingJavaScriptFromString:@"window.pageYOffset"];
无论webView的实际位置如何,s的内容始终为“0”。 和
// webPosition is the desired Y scroll position
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat: @"window.scrollTo(0, %d);", webPosition]];
有关解决方法的任何想法,以定位webView并阅读适用于iOS 5的位置?
答案 0 :(得分:4)
您可以使用UIWebView的Scrollview进行导航,因为IOS5不再支持Javascript:下面的代码对我来说很好。
[aWebView.scrollView setContentOffset:CGPointMake(x, y)];
contentOffset接受CGPoint作为参数。这里x和y是表示scrollPosition的整数值。如果您想获得webView的当前x和y坐标,下面是您可以使用的代码:
NSInteger x = aWebview.scrollView.contentOffSet.x;
NSInteger y = aWebview.scrollView.contentOffset.y;
注意: ScrollView是在IOS 5中引入的,不适用于早期的IOS版本。 Javascript函数适用于早期版本。因此,您可以检查设备版本并相应地实现代码。
答案 1 :(得分:0)
这是答案,来自Apple的MRL:
在iOS 5中,我们公开了UIWebView的UIScrollView。你会好起来的 关闭只是保存和恢复contentOffset而不是尝试 通过javascript执行此操作。