我正在以编程方式编写 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/