1

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

4

1 回答 1

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,然后其他一切都会起作用如预期。

因此,您所要做的就是查看viewDidLoadMainController.m更改线路

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

[cellCount addObject:[NSNumber numberWithInt:0]];

于 2013-06-19T11:44:26.477 回答