如何构建像App Store这样的UITableView?

时间:2014-05-24 22:19:21

标签: ios objective-c uitableview

我打算像App Store一样构建一个表格视图。 例如:

正如我们所看到的,App Store应用程序允许用户向下拖动行并且标题保持在顶部...

和...当你向上滑动行时,表格的标题移出屏幕......

enter image description here

并且可以像这样滑动heander ......

enter image description here

这里我创建了一个旨在实现这一目标的项目。

source

如果有人可以帮助我,我会很感激。

非常感谢!

2 个答案:

答案 0 :(得分:2)

* 你不清楚你在寻找什么样的行为。你想要标题留下吗?您还没有显示任何代码,因此我们对您的表格一无所知

这是通过简单搜索找到的一些东西:

link

  

只有当表的UITableViewStyle属性设置为UITableViewStylePlain时,该行为才会发生。如果您将其设置为UITableViewStyleGrouped,标题将向上滚动单元格。

link

  

实际上tableHeaderView用表滚动。部分标题视图不是这种情况。如果您只有一个部分,那么您可以将标题视图作为tableHeaderView。

table.tableHeaderView = aUiView;
     

如果您有多个部分并且所有部分都有自己的标题视图,那么您别无选择,只能让标题视图以自己的方式运行。或者,您可以通过制作/配置/自定义每个部分的第一行看起来像标题视图来模仿标题视图,并删除实际的部分标题视图。

link

  

我认为最好的方法是使用带有页眉和页脚设置的普通UITableView,并将自定义UITableViewCells的“皮肤”/主题看作分组的UITableViewCells。

     

您可能希望查看here以获取有关如何实现此目的的一些指示。

* 您引用的单元格是表格和节标题

您可以通过实现UITableViewDelegate方法

为每个表部分包含自定义标头
tableView:viewForHeaderInSection:

表和节页脚有相同的属性和方法。 (this是一个很好的参考)

创建自定义UIViews以分配页眉和页脚。

对于水平滚动行为,您应该在页眉/页脚中放置一个TableView并将表格旋转90度;然后在旋转表格的单元格中,将旋转反向应用于实际内容。现在您有一个显示水平滚动图像等的单元格。

在页眉/页脚的代码中,创建一个TableView并转换表

self.horizontalTableView.transform = CGAffineTransformMakeRotation(-M_PI * 0.5);

然后,在此表格的单元格中,您将反转应用于单元格的内容。

CGAffineTransformMakeRotation(M_PI * 0.5)

Voila,水平滚动(参见本教程:http://www.raywenderlich.com/4723/how-to-make-an-interface-with-horizontal-tables-like-the-pulse-news-app-part-2

答案 1 :(得分:0)

您指的是UITableView以及UITableViewDataSourceUITableViewDelegate类。 (比听起来更容易)他们一起工作来创建动态表视图。

UITableViewDelegate

作为表的委托意味着您提供有关表格布局的请求以及用户在tableView上执行的操作的答案。布局方法包括tableView询问行,页眉和页脚的高度,按钮的外观等等。操作方法包括用户选择行以及开始和结束行的编辑。

UITableViewDatasource

用作表的“数据源”意味着您为表的节和行提供数据,并且您对更改表数据的消息进行操作。在绘制表格时,要求“数据源”提供单元格的数据,告知用户要求删除行,并告知用户已编辑的行的新值。

在tableviews.com上有一个很棒的教程,看到了“Here”。

不要直接选择标题只是逐个选择您可以想象用于您的应用程序的代码行!它甚至涵盖了您在使用tableViewDatasourcetableViewDelegate类滚动时显示字母标题时所概述的功能。

此外,“github”上可能还有很棒的存储库(他们刚刚获得了1亿美元的资金吗?)尝试查找或“黑客”某些代码以使其更容易。

好看的图片BTW。非常高品质