【问题标题】:Display A Table View Below A Table Cell In Xcode在 Xcode 中的表格单元格下方显示表格视图
【发布时间】:2015-05-29 22:56:39
【问题描述】:

我希望它实现一个类似于下拉菜单或有限可扩展表格视图的表格视图。功能示例如下:

每个主单元格都有一个食物类别,意大利、中国、泰国等。单元格有一个标签(意大利),旁边有一个数字,如下所示:意大利(5),表示该地区有 5 家意大利餐厅您所在的地区(您在市中心或其他地方)。该单元还将有一个向下的辅助视图。当您点击单元格时,辅助视图将指向上方,并且该单元格下方将显示一个表格视图(以及下一个主单元格“中文”上方)。显示的表格视图将显示您所在地区的每家餐厅(每个单元格中的一家);它的高度大约为 150-200 像素,我需要能够滚动浏览它。当我完成滚动浏览并查看餐厅后,我可以点击主单元格“Italian (5)”,然后视图将消失,辅助视图再次指向下方。

我使用 GitHub 上的一些代码尝试了一个可扩展的表格视图,但问题是这种方法只是将单元格添加到表格中。显示所有单元格(餐厅),从而将主要单元格进一步向下推。我是否必须在每个主单元格之后使用容器视图之类的东西,将其隐藏,并且仅在单击主单元格时才出现?我应该把代码放在表格视图控制器的这个函数中吗?

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

另一方面,如果有更简单的解决方案,我不想让它过于复杂,所以任何关于最佳方法的建议,将不胜感激,谢谢!

【问题讨论】:

  • 现在我正在考虑它,是否可以保留可扩展的表格视图格式,并且只扩展一个主单元格以仅显示一个表格单元格,该单元格具有链接到另一个表格的容器视图看法?这样,显示的表格单元格将包含一个可滚动的表格视图。这可能吗?

标签: ios objective-c uitableview


【解决方案1】:

你在评论中写的确实有效。您需要的 2 种方法如下:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ...
    self.rowHeight = ...;
    [tableView beginUpdates];
    [tableView endUptates];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ...
    if (indexPath == selectedCellIndexPath)
    {
        return self.rowHeight;
    }

    return ...
}

编辑

如果你想改变标签的文字,你可以这样做:

[self.myLabel setText:@"Your new Text"]

【讨论】:

  • 很高兴能帮上忙!
  • 对此还有一个问题,抱歉。如果我知道只有 6 个主单元格,那么父表视图控制器可以是静态的,对吗?考虑到主单元格“Italian (5)”可以更改为“Italian (3)”,例如当您刷新或重新访问表格视图时,如果您所在地区只有 3 家意大利餐厅,它是否必须是动态的?
  • 是的,如果是静态的tableView,您可以更改文本。 (尽管我建议使用动态tableViews,除非用于设置和其他内容,因为动态为您提供了更大的灵活性。)我将使用代码更新我的答案。
  • 哦,哈哈,就这么简单。我又把事情想多了。万分感谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-12
相关资源
最近更新 更多