收缩UITableViewCell

时间:2013-06-19 11:00:20

标签: ios uitableview

我在网上发现了这个:http://soulwithmobiletechnology.blogspot.it/2011/06/how-does-uitableviewcell-reorder.html,我认为它非常有用,确实我已将其应用到我的应用中。现在我会问你是否有人知道如何在加载视图时隐藏UITableCell。 如果您使用此代码,它可以工作,但是当加载表视图时,它会显示所有展开的代码。如何在加载视图时看到单元格缩小?

1 个答案:

答案 0 :(得分:1)

你的意思是折叠这些部分,以便只有部分标题显示,直到用过它?

如果部分未打开则实施tableView:numberOfRowsInSection:以返回0,如果打开则实际返回行数。

更新:我必须先运行才能好好看看来源并充实我的答案:

MainController.m示例代码是实现该方法的地方(.xib将MainController设置为表视图的委托)。

如果您希望一次打开一个部分,请在MainCotroller中使用一个存储打开部分的变量。在tableView中:numberOfRowsInSection:执行以下操作:

if (section == [self openSection])
{
    return [[cellCount objectAtIndex:section] intValue];
}

return 0;

显然,当用户点击它时,您必须设置openSection。如果你想要多个开放的部分,而不是为当前打开的部分存储一个NSInteger,只需保留一个bool数组。

更新2

该示例实际上使用数组cellCount来保存每个部分的单元格数。点击按钮时,cellCount在0和实际的单元格数之间切换。

结束效果是相同的(tableView:numberOfRowsInSection:为折叠部分返回0)但是没有理由将示例中的方法更改为我上面发布的内容,您只需要初始化{{1}数组保存全0,然后其他所有内容都按预期工作。

因此,您只需查看cellCount中的viewDidLoad并更改行

MainController.m

[cellCount addObject:[NSNumber numberWithInt:[_cellArray count]]];