【问题标题】:How to create a scrollable view containing UIWebView with a UITableView如何使用 UITableView 创建包含 UIWebView 的可滚动视图
【发布时间】:2013-10-17 21:58:14
【问题描述】:

我的 iphone 应用中有一个 UIView,其中包含一个 UIWebView 和一个 UITableView。

问题是,内容高度可变,所以我希望屏幕按如下方式工作:

  • UIWebView 的所有内容都会显示出来(它可能会比屏幕大)。
  • 当用户结束滚动 web view 的内容后,他开始滚动 table view 的内容,形成一个单一的可滚动视图。

问题是,网页视图和表格视图都有自己的滚动字段,而苹果的文档特别告诉我不要做我想做的事:

重要提示:您不应将 UIWebView 或 UITableView 对象嵌入 UIScrollView 对象。如果这样做,可能会导致意外行为 因为两个对象的触摸事件可能会混淆和错误 处理。

有没有办法做我想做的事,或者我应该重新考虑我的界面?

【问题讨论】:

    标签: ios uiwebview uiscrollview


    【解决方案1】:

    您可以在tableView的tableHeaderView中添加WebView,并将TableHeaderView的高度调整为您的web view的总高度。这样,您只有一个 tableView,它在其上方显示一个 WebView 并一起滚动。

    【讨论】:

      【解决方案2】:

      尽管 Apple 发出警告,但仍可以这样做。我自己为生产应用程序完成了它,并且效果很好。我面前没有代码,但我大致做了以下操作:

      1) 获取网络视图内容的高度,并设置网络视图的框架以匹配该高度。

      2) 对表格视图执行相同操作

      上述两个步骤可确保当您与应用交互时,内部滚动视图不会尝试滚动其内容。唯一可以滚动的是外部滚动视图。

      3) 最后,将外层滚动视图的内容大小设置为网页视图高度和表格视图高度之和。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        • 2014-01-21
        • 1970-01-01
        相关资源
        最近更新 更多