如何构建像 App Store 这样的 UITableView? [关闭]

Posted

技术标签:

【中文标题】如何构建像 App Store 这样的 UITableView? [关闭]【英文标题】:How can I build an UITableView like App Store? [closed] 【发布时间】:2014-05-24 22:19:21 【问题描述】:

我想构建一个像 App Store 这样的表格视图。 例如:

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

并且...当您向上滑动行时,表格的标题会移出屏幕...

并且可以像这样滑动标头......

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

source

如果有人可以帮助我,我将不胜感激。

非常感谢!

【问题讨论】:

这个网站不是来审查你的项目并告诉你如何使它工作的。使用相关代码更新您的问题并指出您遇到的问题。 我只是寻求帮助以完成此行为,我只是发送代码以更好地说明我的情况。 请点击帮助链接并在此处阅读有关如何提出好问题的信息。 提示: tableview 的每个单元格中都有滚动视图... 【参考方案1】:

* 你不清楚你在寻找什么行为。您是否希望标题保留?你也没有显示任何代码,所以我们对你的桌子一无所知

以下是通过简单搜索找到的一些内容:

link

这种行为仅在表的UITableViewStyle 属性设置为UITableViewStylePlain 时才常见。如果您将其设置为UITableViewStyleGrouped,标题将随着单元格向上滚动。

link

其实tableHeaderView是随着table滚动的。这不是节标题视图的情况。如果你只有一个部分,那么你可以将标题视图作为 tableHeaderView。

table.tableHeaderView = aUiView;

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

link

我认为最好的方法是使用带有页眉和页脚集的普通 UITableView,并为您的自定义 UITableViewCell 设置“皮肤”/主题,使其看起来像分组的 UITableViewCell。

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

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

您可以通过实现 UITableViewDelegate 方法为每个表格部分包含自定义标题

tableView:viewForHeaderInSection:

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

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

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

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

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

然后,在此表的单元格中,您对单元格的内容进行反向转换。

CGAffineTransformMakeRotation(M_PI * 0.5)

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

【讨论】:

您好,感谢您的回复。我知道 tableView:viewForHeaderInSection 并且我用它来构建一个自定义视图,让我的图像保持水平滑动,我的问题是:当我向下滚动行时,表格标题也会滚动,我希望它保持在顶部。 您应该尝试在您的帖子中更具体...请参阅我的编辑。最好的, 我想要的是,当我拖动表格的行时,标题会像 App Store 应用程序一样保持在屏幕上。我知道我可以为我的标题构建一个自定义视图,我以前做过,我只需要在行向下滚动时从表行中分割我的标题,当我向上滚动我的行时,标题会移出屏幕。【参考方案2】:

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

UITableViewDelegate

充当表格的代表意味着您可以回答有关表格布局和用户在tableView 上执行的操作的请求。布局方法包括tableView询问行的高度、页眉和页脚、按钮的外观等。操作方法包括用户选择行以及开始和结束行的编辑。

UITableViewDatasource

充当表的“数据源”意味着您为表的部分和行提供数据,并对更改表数据的消息采取行动。 “数据源”在绘制表格时被要求提供单元格的数据,被告知用户已要求删除一行,并被告知用户已编辑的行的新值。

tableviews treehouse.com 上有一个很棒的教程,见“Here”。

不要按字面意思理解标题,而是逐段选择您可以想象用于您的应用程序的代码行!它甚至涵盖了您概述的功能,其中使用 tableViewDatasourcetableViewDelegate 类滚动时显示字母标题。

“github”上可能还有一些很棒的存储库(他们不是刚刚获得了 1 亿美元的资金吗?)尝试查找或“破解”其中的一些代码以使其更容易。

漂亮的图片顺便说一句。质量非常好

【讨论】:

感谢您的回复! 没问题... .

以上是关于如何构建像 App Store 这样的 UITableView? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在App Store中更改App的背景颜色[重复]

像 App Store 一样的水平滚动控件

Swift - 如何像在 App Store 中一样共享应用链接

带有 Safari 扩展的 Mac App Store 应用程序

在 App-Store 中构建卡片高亮动画

如何使用在我的客户的 iTunes Connect 中设置为 App Manager 角色的帐户将 iOS 构建上传到 App Store?