ios - 如何为所有项目显示已展开的 STCollapseTableView?

标签 ios objective-c uitableview

我正在以编程方式编写 STCollapseTableView。我想要的是当用户进入特定屏幕时,默认情况下必须展开所有标题而不单击任何标题。如果一个标题被展开,我不希望其他标题被折叠。可能吗?如果不是那么实现这一目标的其他方法是什么?

我有标题,如果某些标题项包含子项,它应该已经展开。

编辑:我发现我需要调用以下方法才能在不单击的情况下展开标题。

- (void)handleTapGesture:(UITapGestureRecognizer*)tap
{
    NSInteger index = tap.view.tag;
    if (index >= 0)
    {
        [self toggleSection:(NSUInteger)index animated:YES];
    }
}

显示所有标题后如何调用此方法?

我使用下面的代码将单元格作为表格的标题 View 返回。所以我需要在重新加载 tblItems 后调用 handleTapGesture() 方法。

 [self.headers removeAllObjects];
    for (int i = 0 ; i < [arrItems count] ; i++)
    {
        [self.headers addObject:[self addViewintoCell:i]];
    }


    [tblItems reloadData];
    [tblItems setContentOffset:CGPointZero animated:NO];

最佳答案

这是一个懒惰的解决方案,但它不能用作标准解决方案,即在用数据重新加载表后立即打开加载中的所有部分。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.tableView reloadData];
    [self.tableView setExclusiveSections:NO];

    //Get Section to open
    NSInteger sectionCount = [self.tableView numberOfSections];
    for (int needToOpen = 0; needToOpen<sectionCount; needToOpen++) {
        //Open Section one by one
        [self.tableView openSection:needToOpen animated:NO];
    }
}

关于ios - 如何为所有项目显示已展开的 STCollapseTableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35764532/

相关文章:

objective-c - @property/@synthesize 语法概要

Objective-c,如何从另一个类访问实例变量

objective-c - 使用 NSPredicate 遍历多个 Core Data 对象

ios - 如何使用 Rx 和嵌套单元格 View 突出显示 tableView 单元格?

ios - 更改 tableView 中所有单元格的所有对象的 bool 状态

ios - 无法编辑 iOS 配置文件

ios - 静态表格单元格内的 ui 导航 Controller segue

ios - UITapGesture 仅识别 UIImageView 边框上的点击

ios - 从具有多个部分的 TableView 继续

ios - CoreData - 使用获取的 Controller 的行数无效