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