可折叠部分和每个部分的多个自定义 UITableViewCell

Posted

技术标签:

【中文标题】可折叠部分和每个部分的多个自定义 UITableViewCell【英文标题】:Collapsable Sections and Multiple Custom UITableViewCell for each Section 【发布时间】:2016-12-20 14:42:10 【问题描述】:

所以我一直在搜索,但找不到适合我的问题的答案,即考虑一个需要具有可折叠节标题的 tableview。当 TableView 出现时,部分标题全部折叠。当点击其中一个部分标题时,它会展开以提供作为自定义视图并包含文本字段、按钮、标签、开关等的表单单元格。类似地,当点击任何其他部分标题时,第一个部分标题会折叠,当前的部分会打开并且有另一个带有不同文本字段、按钮、活动指示器等的自定义视图。所有这些都必须在表格视图中,因此折叠/展开区域是相同的,并且可以帮助用户轻松交互。

另外请让我知道我的方法是否也可以,就像我想知道类似的部分标题是否可以具有具有不同视图的单独单元格作为具有所需功能的子视图。

请帮忙。我希望创建以下内容:

【问题讨论】:

【参考方案1】:

在标题单元格上放置UIButton 并对其执行如下操作:

viewForHeader方法中:

 btn.tag = indexPath.row;
 [tapBtn addTarget:self action:@selector(openHeader:) forControlEvents:UIControlEventTouchUpInside];

那么,

- (void)openHeader:(UIButton *)btn 
    if (selectedSection == btn.tag)   // selectedSection be an Int value globally declared, initialised as -1
        selectedSection = -1;
    
    else 
        selectedSection = btn.tag;   
    
    [tableView reloadData]; 

numberofRows

if (section == selectedSection) 
    return count;

else 
    return 0;

这对我有用,我希望这对你也有用。

【讨论】:

感谢您的回答,它肯定会帮助我折叠这些部分,但这并不能回答我的问题。我已经更新了它。请查看

以上是关于可折叠部分和每个部分的多个自定义 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章

自定义手风琴/可折叠 UITableViewCell 的自动布局

如何在 Qt 中制作可展开/可折叠的部分小部件

UITableView 重新加载部分时的内容插入更改

如何在android中实现自定义可折叠工具栏?

可扩展 UiTableView 的自定义单元格

正确子类化和重用 UITableViewHeaderFooterView