当前位置: 首页 > news >正文

做网站 推广武威做网站的公司

做网站 推广,武威做网站的公司,做vi的网站,seo优化排名软件文章目录 前言一、实现效果二、折叠cell的实现原理三、实现折叠cell的高度变化四、实现选中点击的单元格总结 前言 在暑假的3GShare中用到了折叠cell控件,特此总结博客记录 一、实现效果 二、折叠cell的实现原理 首先我们需要知道ScrollView的是TableView的父类&a…

文章目录

  • 前言
  • 一、实现效果
  • 二、折叠cell的实现原理
  • 三、实现折叠cell的高度变化
  • 四、实现选中点击的单元格
  • 总结


前言

在暑假的3GShare中用到了折叠cell控件,特此总结博客记录


一、实现效果

在这里插入图片描述

二、折叠cell的实现原理

首先我们需要知道ScrollView的是TableView的父类,我们可以通过代码来控制我们需要展示的cell的行数 ,也就是tableview的高度。
我们可以通过按钮来实现tableview的展开与关闭,并且通过- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 方法来实现我们单元格的切换

三、实现折叠cell的高度变化

既然我们已经知道实现折叠cell的关键是通过按钮控制tableview的高度,那么我们现在给出按钮点击函数

- (void)pressUp:(UIButton *)btn {if (btn.tag == 1002) {[btn setImage:[UIImage imageNamed:@"shou.png"] forState:UIControlStateNormal];_tableView.frame = CGRectMake(270, 200, 95, 20);btn.tag--;} else {[btn setImage:[UIImage imageNamed:@"fang.png"] forState:UIControlStateNormal];_tableView.frame = CGRectMake(270, 200, 95, 80);btn.tag++;}
}

如此一来便实现了我们点击按钮时我们展示的tableview高度会随按钮的点击而变化

四、实现选中点击的单元格

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {// 从_dataArray获取被选中的项目NSString *selectedItem = _dataArray[indexPath.section];// 从_dataArray中移除被选中的项目[_dataArray removeObjectAtIndex:indexPath.section];// 将被选中的项目插入到_dataArray的开头[_dataArray insertObject:selectedItem atIndex:0];// 重新加载整个UITableView的数据[_tableView reloadData];// 调用pressUp:方法,执行按钮状态的切换[self pressUp:_zhedie];
}

当选择(点击)一个单元格时,将所对应部分的数据从_dataArray中移动到数组的顶部。这在didSelectRowAtIndexPath方法中完成。然后重新加载UITableView,并调用pressUp:方法以确保正确的布局。

总结

如此一来我们便简单实现了我们的折叠cell
以下给出完整的简单折叠cell的实现代码

- (void)viewDidLoad {[super viewDidLoad];//折叠cell=======_tableView = [[UITableView alloc] initWithFrame:CGRectMake(270, 200, 95, 80) style:UITableViewStylePlain];_tableView.delegate = self;_tableView.dataSource = self;_dataArray = [NSMutableArray arrayWithObjects:@"cell1", @"cell2", @"cell3", @"cell4", nil];[self.view addSubview:_tableView];_zhedie = [UIButton buttonWithType:UIButtonTypeSystem];_zhedie.frame = CGRectMake(270 + 95, 200, 20, 20);_zhedie.backgroundColor = [UIColor whiteColor];[_zhedie setImage:[UIImage imageNamed:@"shou.png"] forState:UIControlStateNormal];[_zhedie addTarget:self action:@selector(pressUp:)forControlEvents:UIControlEventTouchUpInside];_zhedie.tag = 1001;[self.view addSubview:_zhedie];if (_zhedie.tag == 1001) {_tableView.frame = CGRectMake(270, 200, 95, 20);}//=======折叠cell}}//====折叠cell
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {return 1;
}- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {return 4;
}- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {return 20;
}- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {NSString *selectedItem = _dataArray[indexPath.section];[_dataArray removeObjectAtIndex:indexPath.section];[_dataArray insertObject:selectedItem atIndex:0];[_tableView reloadData];[self pressUp:_zhedie];
}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {NSString *strID = @"ID";//尝试获取可以复用的单元格//如果得不到,返回为nilUITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:strID];if (cell == nil) {cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:strID];}//单元格文字赋值cell.textLabel.text = [_dataArray objectAtIndex:indexPath.section];cell.textLabel.font = [UIFont systemFontOfSize:12.0];cell.textLabel.textAlignment = NSTextAlignmentLeft;return cell;
}- (void)pressUp:(UIButton *)btn {if (btn.tag == 1002) {[btn setImage:[UIImage imageNamed:@"shou.png"] forState:UIControlStateNormal];_tableView.frame = CGRectMake(270, 200, 95, 20);btn.tag--;} else {[btn setImage:[UIImage imageNamed:@"fang.png"] forState:UIControlStateNormal];_tableView.frame = CGRectMake(270, 200, 95, 80);btn.tag++;}
}

折叠cell—demo

http://www.yayakq.cn/news/236600/

相关文章:

  • 做网站算 自由职业者怎样建设的网站好优化好排名
  • 上海建设工程标准与造价信息网站福步外贸官网
  • 动漫公司网站建设wordpress 源码交付
  • 直播间 网站建设wordpress 正文替换
  • 缙云县城乡建设局网站网页无法访问如何解决h5
  • 简答网站建设流程有哪些帝国网站管理系统前台
  • 西餐厅网站模板网站搭建合同
  • 要做网站照片怎么处理中国建设网站中天建设平分数
  • 凡科建站收费完全的图片宣传网站怎么做
  • 网站admin密码忘记了怎么办seo短视频网页入口引流网
  • 网上免费发广告怎么发长沙百度快速排名优化
  • 下载网站建设网络销售公司经营范围
  • 青岛php网站建设网站开发交流
  • 做服装有哪些好的网站有哪些赣州招聘网最新招聘
  • o2o网站建设最好公司排名吴忠网页设计
  • 广西企业响应式网站建设公司网站免费正能量直接进入app
  • 视频网站建设类图天津河西做网站哪家好
  • 黑客是如何攻击网站的网站的线下推广怎么做
  • 网站登录验证码是怎么做的伪静态nginx wordpress
  • 官方网站建设审批手续自己搭建视频播放网站
  • 池州网站制作公东莞房价
  • 网站建设开票属于哪个名称珠海seo
  • 招聘网站免费平台企业网站的基本内容以及营销功能
  • 能打开那种网站的手机浏览器wordpress三栏
  • 好看的网站颜色网站后台如何开发
  • 做网站前需要准备什么岳阳市住房和城乡建设局网站
  • 怎么自己做网站空间asp.net网站项目建设
  • 内蒙古住房和城乡建设厅网站北京室内设计公司排行
  • 阿里巴巴国际站下载重庆农产品价格信息网
  • 网站建设一般需要几个步骤oa厂家排名