【问题标题】:set height of outer TableViewCell from inner nested UITableViewCell从内部嵌套的 UITableViewCell 设置外部 TableViewCell 的高度
【发布时间】: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


【解决方案1】:

我有一些类似的要求,我没有使用嵌套的 tableview,因为它给我带来了一些复杂性,所以我尝试使用 tableview 的缩进和索引路径来实现我想要的。我刚刚用这个概念做了一个带有一些虚拟数据的小示例应用程序。我从未尝试过使用自定义单元格的这种方法。看看这是否有帮助。

我知道我没有回答您提出的确切问题,但我正在尝试提供一种对我来说看起来更简单的不同方法。

我刚刚修改了我的基本代码以匹配您的数据

How to create an Accordion with UItableview under a UItableview?

来源可以在这里找到 Accordion

截图

-anoop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 2021-07-27
    相关资源
    最近更新 更多