【发布时间】:2014-10-26 12:53:50
【问题描述】:
我正在尝试使用 UITableView 实现手风琴视图。我希望将视图嵌套到 2 个级别。 (例如:有多个 Regions,每个 Region 下会有零个/多个 Locations,每个 Location 下会有零个/多个 Users)。 为了实现这个场景,我使用了嵌套的 UITableView。即外部表视图(即区域表视图)将其单元格作为另一个 UITableView(即位置表视图),并且 LocationTableView 的每个单元格将有另一个 UITableView(即在每个位置下显示用户列表的表视图)作为其单元格。 我已附上图片以获得更多说明。
在下图中,区域是 tableview 的部分。 (注意:tableview 中暂时没有一行)
点击第二个部分后,即名称为 Region 的部分我动态重新加载该部分并添加单元格(即包含显示位置的 UITableview 的单元格)
但是,它显示了位置表视图下方的空白区域。 相反,我想要这样的东西,如下所示:
再次点击内部表视图的第 0 部分(位置 0)(即包含位置列表的表视图)后,我动态重新加载表视图的该部分并添加单元格(即包含 UITableview 的单元格,显示该用户列表地点) 看看下图
完美运行。 现在我的问题是我已经根据 *- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath )indexPath 方法计算了外部 UITableviewCell 的高度,具体取决于该区域(即单元格)内的位置数和该特定区域单元格下每个位置下的用户数。问题是我需要根据手风琴视图隐藏/显示位置和用户列表(所有位置和用户列表不会一次显示)。所以内部 tableView 的高度增加/减少,因此在底部留下空白空间。我还为每个包含 tableview 作为 ContentView 的内部单元格创建了自定义 UITableViewCell(即为单元格创建单独的 nib 文件),并在其相应的 .m 文件中实现了所有 UITableView 数据源和委托方法。 我想要的不是显示那个空白区域。
当控制进入内部 tableview 单元格时,我无法从那里设置外部 UITableView 的高度。
希望你能理解我的问题。请帮我。谢谢!!!
【问题讨论】:
-
你解决了吗?
标签: ios iphone xcode uitableview