UITableView 滚动时应该超出其框架

Posted

技术标签:

【中文标题】UITableView 滚动时应该超出其框架【英文标题】:UITableView should go beyond its frame when scrolled 【发布时间】:2012-05-18 10:28:22 【问题描述】:

我正在尝试使用 UITableView 的示例应用程序。

屏幕的上半部分(几乎)由 UIView 填充,其中包含一些组件,例如按钮、文本字段和图像视图。下半部分(在 IB 中,其宽度 = 320 和高度 = 234 像素)由 UITableView 实例填充。

我正在使用自定义 UITableViewCell 对象在此 UITableView 中显示。

这是 IB 中 UITableView 实例的大小定义

这是 UITableViewCell 的尺寸定义:

我已经定义了两种可以放置在 UITableView 中的自定义 UITableView 单元格(并且根据单元格是否有要显示的图片来动态决定哪种类型)。有图片的单元格比没有图片的单元格更大,布局也不同。具有图片的自定义 UITableViewCell 在 IB 中具有这些尺寸参数(高度 '301' 大于整个屏幕截图中主 Storyboard 中指定的通用 UITableViewCell 实例 '234' 的高度):

现在,当我运行应用程序并滚动表格视图时,表格视图需要沿整个屏幕滚动(即,具有 UIView 和她组件的屏幕的前半部分也应该滚动),就像在Path 应用是这样的:

这是Path App中的初始屏幕:(上半部分是一些固定的UIView,下半部分是时间轴,是一个UITableView)

当您开始滚动时间轴时,上半部分也会滚动:

我该怎么做(即上半部分也会滚动)? 我尝试将 UIScrollView 添加到整个屏幕并将其放在屏幕中所有其他组件的后面,但这没有帮助。 有人可以建议吗?或任何指针?

【问题讨论】:

【参考方案1】:

使 UITableView 占据整个屏幕,并添加您的视图,该视图现在将上半部分作为表格视图的 headerView(您可以在界面构建器中将其拖到其顶部,它应该会立即嵌入)。

【讨论】:

以上是关于UITableView 滚动时应该超出其框架的主要内容,如果未能解决你的问题,请参考以下文章

当单元格滚动回视图时表格崩溃

在后台删除的数据导致 UITableView 中的索引超出范围崩溃

iPhone通过滑出表格视图来滚动UITableview

如何解决 uiTableview 滚动应用程序崩溃,它会在 swift 中引发数组索引超出范围异常?

弹出窗口中的 UITableView 不会停止滚动

UITableView:停止自动滚动超出所选位置