我在网上找到了这个:http ://soulwithmobiletechnology.blogspot.it/2011/06/how-does-uitableviewcell-reorder.html ,我认为它非常有用,实际上我将它实现到我的应用程序中。现在我会问你是否有人知道如何在加载视图时隐藏 UITableCell。如果您使用此代码,它可以工作,但是当加载表格视图时,它会显示所有展开的内容。加载视图时如何看到单元格缩小?
1 回答
你的意思是折叠部分,以便只有部分标题显示,直到使用过的点击它?
实现tableView:numberOfRowsInSection:如果节未打开则返回 0,如果打开则返回实际行数。
更新:我必须先跑,然后才能仔细查看源代码并充实我的答案:
MainController.m
示例代码的一部分是实现该方法的位置(.xib 将 MainController 设置为表视图的委托)。
如果您希望一次打开一个部分,请在 MainCoroller 中设置一个变量来存储打开的部分。在 tableView:numberOfRowsInSection: 做这样的事情:
if (section == [self openSection])
{
return [[cellCount objectAtIndex:section] intValue];
}
return 0;
显然,您必须设置openSection
用户点击它的时间。如果您想要多个打开的部分,而不是NSInteger
为当前打开的部分存储一个,只需保留一个 bool 数组。
更新 2
该示例实际上使用数组 ,cellCount
来保存每个部分的单元格数。点击按钮时,cellCount
在 0 和实际单元格数之间切换。
最终效果是相同的(tableView:numberOfRowsInSection:
折叠部分返回 0)但是没有理由将示例中的方法更改为我在上面发布的内容,您所要做的就是初始化cellCount
数组以保存所有 0,然后其他一切都会起作用如预期。
因此,您所要做的就是查看viewDidLoad
并MainController.m
更改线路
[cellCount addObject:[NSNumber numberWithInt:[_cellArray count]]];
至
[cellCount addObject:[NSNumber numberWithInt:0]];