【问题标题】:UIWebView orientation issueUIWebView 方向问题
【发布时间】:2012-12-01 20:24:42
【问题描述】:

我有一个显示文本的 UIWebView。文本超出了 iPhone 屏幕的高度,因此用户必须滚动才能看到超出 iPhone 屏幕的文本。

我想在方向更改期间保留 UIWebView 左上角的文字,在 UIWebView 的左上角。

因此,如果用户正在纵向阅读并且最左上角的文本是纵向的“Welcome to the ....”。当设备将其方向更改为横向时,我希望 SAME 文本位于左上角。

这个功能可以实现吗?

【问题讨论】:

    标签: objective-c ios uiwebview


    【解决方案1】:

    我认为你必须使用 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并直接滚动。

    【讨论】:

    • 感谢您的回答,您的想法是正确的。但我缺少的是用于将肖像 y 偏移量计算为横向 y 偏移量的算法。该算法必须考虑文本高度、屏幕尺寸和纵向 y 偏移,然后才能为横向滚动生成正确的 y 偏移。无论如何谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 2011-08-07
    • 2011-08-13
    • 2016-01-18
    • 2011-06-16
    • 1970-01-01
    相关资源
    最近更新 更多