IOS单元部分的扩展和折叠示例代码

来源:爱站网时间:2020-10-22编辑:网友分享
对于很多新手来说,要实现程序中的任何一个功能,可能都要小心翼翼,生怕这样的操作会给后期的开发带来困难,成为团队的累赘,本文是爱站技术频道小编为大家带来的IOS单元部分的扩展和折叠示例代码。

 

对于很多新手来说,要实现程序中的任何一个功能,可能都要小心翼翼,生怕这样的操作会给后期的开发带来困难,成为团队的累赘,本文是爱站技术频道小编为大家带来的IOS单元部分的扩展和折叠示例代码。

首先,先上图,让大家看看效果

 

相信大家对于TableViewd数据的设置都熟悉,这方面就不多说的,重点的还是来看:

1.如何实现cell的Section的展开和收起的效果

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  [self.tableView deselectRowAtIndexPath:indexPath animated:NO];


  currentRow = indexPath.row;

  NSDictionary *sectionDic = self.dataSource[indexPath.section];
  NSArray *cellArray = sectionDic[@"sub"];

  //cell当前的数据
  NSDictionary *cellData = cellArray[indexPath.row];

  NSString *key = [NSString stringWithFormat:@"%@", cellData[@"chapterID"]];
  CellModel *chapterModel = [self.cellOpen valueForKey:key];

  chapterModel.isShow = !chapterModel.isShow;

  [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}

当用户点击到某一个cell时候,需要判断cell是否是展开状态,如果张开或者收起就调用

 

 

[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

 

 

 

让cell的section能够重新加载刷新;

2.如何添加cell的Section

2.1设置section的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
  NSDictionary *sectionDic = self.dataSource[indexPath.section];
  NSArray *cellArray = sectionDic[@"sub"];
  //cell当前的数据
  NSDictionary *cellData = cellArray[indexPath.row];

  NSString *key = [NSString stringWithFormat:@"%@", cellData[@"chapterID"]];
  CellModel *model = [self.cellOpen valueForKey:key];
  if (model.isShow) {
    return (model.pois.count+1)*60;
  } else {
    return 60;
  }

}

上面的代码是设置section的高度,主要是以cell的isshow作为标记,让section的能够随数据的改变而变动

3.如果要在一个cell上再加一个cell,实现cell内嵌cell,需要在哪里加?

答案:当然是在cell的HeaderSection或者FooterSection上加上cell,这样就能实现cell内嵌cell。

上述是爱站技术频道小编分享的IOS单元部分的扩展和折叠示例代码,相信很多人都能接受到小编的介绍吧,让我们一起学习一起往前冲吧!

上一篇:IOS设置状态栏的背景色方法

下一篇:详细解析IOS中的捕获日志和异常的示例展示

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载