UIWebView 和 UIScrollView 滚动行为

Posted

技术标签:

【中文标题】UIWebView 和 UIScrollView 滚动行为【英文标题】:UIWebView and UIScrollView scrolling behavior 【发布时间】:2012-02-17 20:15:47 【问题描述】:

这可能是一个愚蠢的问题,但我在滚动视图中插入了一个 webview,不幸的是,当在 Safari 中触摸时,滚动视图和 webview 都不能流畅地移动。我怎么解决这个问题?有什么方法可以让它们滚动和缩放更流畅吗?对不起我的拼写,但我不是[以英语为母语的人]。谢谢。

【问题讨论】:

“更流利”是什么意思?你不应该将 UIWebView 放在你的 UIScrollView 中。 UIWebView 允许缩放、滚动、平移等。 为什么要把 webView 放在 scrollView 中? webView 会自动滚动。 我一遍又一遍地阅读应该避免这种情况,甚至在 Apple 的文档中也是如此。看看dbrajkovic.wordpress.com/2012/01/08/…也许对你的问题有帮助。 【参考方案1】:

为了能够更流畅地移动,您可能可以减少网站的内容。以我的经验,UIWebViews 真的很重(内存和处理器明智的话)。据我所知,Apple 一直在努力实现该类更好的性能。我无法想象这个问题的简单解决方案。即使加载单个 UIWebView 对于操作系统来说也不是那么容易。但我可能是错的......

顺便说一句:UIWebView 已经实现了UIScrollView,尽管它实际上不是子类并且它符合UIScrollViewDelegate 协议。

【讨论】:

好的,谢谢。希望苹果做的对象比 UIWebView 轻【参考方案2】:

UIWebView 已经是UIScrollView 的子类,因此您不应再次使用UIScrollView 类。使用UIWebView的delgete方法。

【讨论】:

不,我两个都用了,因为我想在滚动视图中加入更多的网页视图 你到底想用它来完成什么?将 UIWebViews 放入 UIScrollViews 似乎是一场等待发生的灾难。您的用户可能不喜欢它。 更流畅是指加载图形更快。 它不是子类,它符合UIScrollViewDelegate协议。

以上是关于UIWebView 和 UIScrollView 滚动行为的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 上的 UIScrollView 和 UITapGestureRecognizer 冲突

UIScrollView 类型访问 UIWebView

嵌入在 UIScrollview 中的 UIWebview 中的 Javascript 触摸事件

UIWebView 和 UIScrollView 滚动行为

UIWebView 中的 UIScrollView 的委托方法未调用水平滚动

UIWebView 在 UIScrollView 内消耗触摸事件