在当前版本的 Facebook 应用程序中,时间线 View 顶部有一个名为“新闻提要”的单元格。这是后过滤器功能。如果点击它,该单元格底部的新单元格会向下滑动并变得可见。这是一个令人愉快的效果。你知道如何实现类似的东西吗?在您看来,所有这些都发生在同一个 UITableViewCell 内还是什么?

最佳答案

这可以使用 insertRowsAtIndexPaths:withRowAnimation 实现

请记住,您的表数据源需要容纳插入的行,您的 numberOfRowsInSection 方法也是如此。

我认为此处使用的适当动画效果是 UITableViewRowAnimationTop,以便单元格看起来像是从上到下插入的。

在您的示例中,一旦用户点击新闻提要单元格,您可能会执行以下操作:

[tableView insertRowsAtIndexPaths:[NSArray arrayWithObjects: [NSIndexPath indexPathForRow:1 inSection:0], [NSIndexPath indexPathForRow:2 inSection:0], [NSIndexPath indexPathForRow:3 inSection:0], nil] withRowAnimation:UITableViewRowAnimationBottom];

您的 numberOfRowsInSection 方法将返回您的原始值 + 3。

您的 cellForRowAtIndexPath 方法应该有代码来构建刚刚添加的新闻单元。

关于iphone - UITableView 类似 Facebook 应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17498232/

10-12 04:21