【问题标题】:Animate the resizing of a UIWebView动画 UIWebView 的大小调整
【发布时间】:2011-04-07 12:50:06
【问题描述】:

我很难为 UIWebView 的大小调整设置动画,只是不知道还能去哪里。

这是我想要完成的:我有两个视图,一个在另一个之上(想象两个正方形,一个在另一个顶部)。顶视图是UIWebView,底部视图将被称为通用UIView(我对底部视图没有任何问题)。每次加载新内容时我都会调整两个视图。我还有一个按钮可以隐藏或显示底部视图,具体取决于其先前的状态。

这就是问题所在。当底部视图被隐藏时,按下按钮将放大其框架并缩小UIWebView 框架。没关系。但是如果显示底部视图并按下按钮,UIWebView 框架会变大,并且存在一些问题:

  • 如果UIWebView 一直滚动到底部,它会在下降之前“跳跃”一点(变大);

  • 如果UIWebView 一直滚动到顶部,只要底部视图后面有足够的内容可以滚动,它就会按预期下降。

总的来说,我了解到的是,如果底部视图后面的内容大于发生的调整大小的数量,则不会发生跳跃。否则,它会。

我做了很多研究,asked a previous question,所以我假设这是延迟加载UIWebView 的结果。这种“跳跃”的发生是为了自动调整大小(显示所有内容,即使其中一些在屏幕外),然后向下移动。否则,它将同时扩展和加载新内容,需要更多的处理器能力。

我已经尝试过框架、边界和中心,但到目前为止一无所获。我的假设正确吗?有没有简单的方法来调整UIWebView 的大小以使其仅下降(当变大时)并保持底部滚动?

理论上,我认为正确的方法是将UIWebView 放大到顶部,保持其当前的底部位置,然后通过动画将其向下移动。这样,顶部的内容就已经被加载了。但是我没有成功。

如果有人有这方面的经验,请分享。非常感谢。

【问题讨论】:

    标签: iphone uiwebview ios ipod-touch


    【解决方案1】:

    如果滚动到足够高的网页底部,请尝试在不更改其大小的情况下向下设置 Web 视图的动画,然后更改 Web 视图的高度,使顶部回到应有的位置。您可以使用某种模式暂时填充 Web 视图向下移动时留下的空间。

    【讨论】:

    • 这对用户来说不是很漂亮......即使如此,我也不知道有什么方法可以检测 UIWebView 是否已经足够滚动。我也尝试过使用 javascript(pageoffset 和总滚动高度)但没有成功。我需要一种方法来获取底部的偏移量,而不是顶部的偏移量(这就是 pageoffset 返回的)。
    猜你喜欢
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多