我正在尝试使用UITableView实现手风琴视图。我希望将视图嵌套最多2个级别。 (例如:每个区域下面有多个区域,将有零/多个位置,每个位置下将有零/多个用户)。 为了实现这个场景,我使用了嵌套的UITableView。即外部TableView(即Region TableView)将其单元格作为另一个UITableView(即Location TableView),并且LocationTableView的每个单元格将具有另一个UITableView(即TableView在每个位置下显示用户列表)作为其单元格。 我附上了图片以便进一步澄清。
在下面的图像中,区域是tableview的一部分。 (注意:tableview中现在不是一行)
点击第二部分,即名称为 Region 的部分后,我动态重新加载该部分并添加单元格(即包含显示位置的UITableview的单元格)
但是,它显示了位置tableview下方的空白区域。 相反,我想要这样的事情如下:
再次点击内部tableview的第0个部分(位置0)(即包含位置列表的tableview)后,我动态重新加载tableview的那一部分并添加单元格(即包含UITableview的单元格,显示该表格下的用户列表地点) 看看下面的图片
完美无缺。 现在我的问题是我在 * - (CGFloat)tableView :( UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath )indexPath 方法中计算了外部UITableviewCell的高度取决于该区域内的数字位置(即单元格)和该特定区域单元格下每个位置下的用户数量。问题是我需要隐藏/显示位置和用户列表(所有位置和用户列表不会立即显示),如同accordionView一样。因此内部tableView的高度增加/减少,因此在底部留下空白。我还为包含tableview的每个内部单元创建了自定义UITableViewCell(即为单元创建单独的nib文件)作为ContentView,并在其相应的.m文件中实现了所有UITableView数据源和委托方法。 我想要的不是显示空白空间。
当控制进入内部tableview单元格时,我无法从那里设置外部UITableView的高度。
希望你能理解我的问题。请帮我。谢谢!!!
答案 0 :(得分:0)
我有类似的这样的要求,我没有使用嵌套的tableview,因为它给我带来了一些复杂性,所以我尝试使用缩进和tableview的索引路径来实现我想要的。我刚刚用一些虚拟数据做了一个带有该概念的小样本应用程序。我从未尝试过使用自定义单元格的方法。看看这是否有帮助。
我知道我没有回答您提出的确切问题,但我正在尝试采用一种不同的方法,对我来说看起来更简单。
我刚修改了我的基本代码以匹配您的数据
How to create an Accordion with UItableview under a UItableview?
可在此处找到来源 Accordion
截图
-anoop