我有一个显示文本的 UIWebView。文本超出了 iPhone 屏幕的高度,因此用户必须滚动才能找到超出 iPhone 屏幕的文本。
我想在方向更改期间将位于 UIWebView 左上角的单词保留在 UIWebView 的左上角。
因此,如果用户正在纵向阅读并且左上角的大部分文本是纵向的“欢迎来到......”。当设备将其方向更改为横向时,我希望 SAME 文本位于左上角。
这个功能可以实现吗?
我有一个显示文本的 UIWebView。文本超出了 iPhone 屏幕的高度,因此用户必须滚动才能找到超出 iPhone 屏幕的文本。
我想在方向更改期间将位于 UIWebView 左上角的单词保留在 UIWebView 的左上角。
因此,如果用户正在纵向阅读并且左上角的大部分文本是纵向的“欢迎来到......”。当设备将其方向更改为横向时,我希望 SAME 文本位于左上角。
这个功能可以实现吗?
我认为你必须使用 javascript 来实现它。
首先找到 webview 在旋转之前的位置,在旋转之后找到 pageOffset 并使用类似这样的东西来滚动:
NSString* goToOffsetFunc = [NSString stringWithFormat:@" function pageScroll(xOffset){ window.scroll(xOffset,0); } "];
NSString* goTo =[NSString stringWithFormat:@"pageScroll(%f)", pageOffset];
[webview stringByEvaluatingJavaScriptFromString:goToOffsetFunc];
[webview stringByEvaluatingJavaScriptFromString:goTo];
另一种方法是在 webView 中获取 scrollView 并直接滚动它。