在 ScrollView 内创建列表

Posted

技术标签:

【中文标题】在 ScrollView 内创建列表【英文标题】:Create a listing inside of a ScrollView 【发布时间】:2017-02-22 22:13:50 【问题描述】:

我正在编写一个 Swift 应用程序,在我的主屏幕上,我有一个长滚动视图,其中包含多个内容区域(即将举行的活动、公告,然后是特色产品,最后是一些基本信息)。所以这是一个很长的滚动条,你可以向下滑动到底部。

所以可视化 4 个盒子,如果你愿意的话,垂直堆叠。

第三个方框显示特色产品。这可以是 1 到 30 个项目,具体取决于用户在其设置中使用的任何过滤器。

我的第一次尝试是在这个父滚动视图内为 region#3 使用 UITableView,但问题是它只显示前几个项目/行,然后你在表格内滚动其余部分(这是默认/自然行为一张桌子,对吧?)。不幸的是,我的要求是内表不能滚动 - 它需要一次显示所有内容,并且您必须滚动(在主 UIScrollView 中)才能到达底部(不要在内部 uitableview 滚动内滚动)。另外,似乎每个人都说不要在滚动中使用 UITableView。

那么,如何在创建一个模板的地方创建某种列表(就像在 xib/tablecell 中那样,然后为其分配数据源,然后重复向下而不滚动?我应该在之后使用 tableview全部,只是让它的高度非常高并关闭滚动?

我是否以某种方式在 for 循环中实例化 xib 并将它们动态分配给某个视图?

非常感谢!

【问题讨论】:

【参考方案1】:

听起来您想要一个具有分组样式的表格视图。这样可以很容易地将“4 个盒子”分开,而“第 3 个盒子”在该部分中只需 1 到 30 行。

注意:您想要有一个“非常高”的表格视图 - 或任何其他类型的视图,就此而言。您希望允许 ios 为您管理内存,并仅加载和显示您的内容中在任何时候可见的部分。

换句话说,使用像它设计的那样使用的表格视图:)

【讨论】:

以上是关于在 ScrollView 内创建列表的主要内容,如果未能解决你的问题,请参考以下文章

如何确定垂直 ScrollView 的方向?

对于 UIScrollview,我如何使用自己的 panGestureRecognizer 但允许 scrollView 使用其识别器进行反弹?

android如何使用listview而不是scrollview

ScrollView与ListView嵌套使用,导致ListView下拉失效

ViewPager中的视图在ScrollView中不能垂直滚动

以编程方式在 UITableViewCell 内创建 UIScrollView - ScrollView 不滚动