繁体   English   中英

在Xcode中的表格单元格下方显示表格视图

[英]Display A Table View Below A Table Cell In Xcode

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

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

我尝试使用GitHub上的一些代码来扩展表格视图,但是问题在于这种方法只是向表格中添加单元格。 显示所有单元格(餐厅),从而将主单元格进一步向下推。 我是否需要在每个主单元格之后使用类似容器视图的东西,将其隐藏,并且仅在单击主单元格时才出现? 我是否应该在表视图控制器的此功能中添加代码来执行此操作?

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

另一方面,如果有更简单的解决方案,我不想过于复杂,因此,最好的方法是什么,请多多指教,谢谢!

您在评论中写的内容确实有效。 您将需要的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"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM