0

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

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

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

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

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

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

4

2 回答 2

2

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

于 2013-10-17T22:02:37.560 回答
1

尽管苹果公司发出警告,但这是可以做到的。我自己为生产应用程序完成了它,并且效果很好。我面前没有代码,但我大致做了以下事情:

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

2)对表格视图做同样的事情

上面的两个步骤确保内部滚动视图在您与应用程序交互时不会尝试滚动其内容。唯一能够滚动的是外部滚动视图。

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

于 2013-10-17T22:04:34.470 回答