GitHub_HeadersDownCells_标题view下拉子cells

标题view下拉子cells,可以自定义标题View、子cell的内容及数量,最近会继续优化

https://github.com/alwaysDB/HeadersDownCells.git

以下为部分代码

  1 - (void)groupHeaderViewDidClickBtnGroupTitle:(BabySettingHeaderView *)groupHeaderView {
  2 //    [self.tableView reloadData];
  3     //    DDLog(@"groupHeaderView.tag%ld", groupHeaderView.tag);
  4     NSIndexSet *idxSet = [NSIndexSet indexSetWithIndex:groupHeaderView.tag];
  5     [self.tableView reloadSections:idxSet withRowAnimation:UITableViewRowAnimationNone];
  6 }
  7
  8 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  9     return self.groups.count;
 10 }
 11
 12 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
 13     // 获取当前的组模型
 14     HeaderGroup *group = self.groups[section];
 15     if (group.isVisible) {
 16         return group.cellNum;
 17     }
 18     return 0;
 19 }
 20
 21 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
 22     switch (indexPath.section) {
 23         case 0:
 24             return 88;
 25         case 1:
 26             return 70;
 27         case 2:
 28             return 52;
 29             break;
 30
 31         default:
 32             return 44;
 33             break;
 34     }
 35 }
 36
 37 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
 38     static NSString *cellID = @"babyCareCell";
 39     UITableViewCell *babyCell = [tableView dequeueReusableCellWithIdentifier:cellID];
 40     if (babyCell == nil) {
 41         babyCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
 42     }
 43     for (UIView *view in babyCell.contentView.subviews) {
 44         [view removeFromSuperview];
 45     }
 46
 47     babyCell.selectionStyle = UITableViewCellSelectionStyleNone;
 48
 49     switch (indexPath.section) {
 50         case 0:
 51             [babyCell.contentView addSubview:self.datePicker];
 52
 53             [babyCell.contentView addSubview:self.dateSureBtn];
 54 //            [babyCell.contentView bringSubviewToFront:self.dateSureBtn];
 55             NSLog(@"dateSureBtn%@", NSStringFromCGRect(self.dateSureBtn.frame));
 56
 57             self.datePicker.datePickerMode = UIDatePickerModeDate;
 58             return babyCell;
 59             break;
 60         case 1:
 61             [babyCell.contentView addSubview:self.textView];
 62             return babyCell;
 63             break;
 64         case 2:
 65             [babyCell.contentView addSubview:self.textField];
 66             self.textField.borderStyle = UITextBorderStyleRoundedRect;
 67             return babyCell;
 68             break;
 69         default:
 70             return babyCell;
 71             break;
 72     }
 73 }
 74
 75 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
 76     HeaderGroup *group = self.groups[section];
 77     BabySettingHeaderView *headerView = [BabySettingHeaderView headerViewWithTableView:tableView];
 78     headerView.tag = section;
 79     headerView.group = group;
 80     headerView.delegate = self;
 81     headerView.headerTitleLabel.text = nil;
 82
 83     CGFloat rightMargin = 50;
 84     CGFloat onlineW = 150;
 85     CGFloat onlineH = 60;
 86     CGFloat onlineY = 0;
 87     CGFloat onlineX = SCREAN_WIDTH - rightMargin - onlineW;
 88
 89     switch (section) {
 90         case 0:
 91             headerView.headerTitleLabel.text = self.titleHeaderStr1;
 92
 93             self.dateLab.frame = CGRectMake(onlineX, onlineY, onlineW, onlineH);
 94             self.dateLab.textAlignment = NSTextAlignmentRight;
 95
 96             [headerView.contentView addSubview:self.dateLab];
 97
 98             return headerView;
 99         case 1:
100             headerView.headerTitleLabel.text = self.titleHeaderStr2;
101
102             self.reasonLab.frame = CGRectMake(onlineX, onlineY, onlineW, onlineH);
103             self.reasonLab.textAlignment = NSTextAlignmentRight;
104
105             [headerView.contentView addSubview:self.reasonLab];
106             return headerView;
107         case 2:
108             headerView.headerTitleLabel.text = self.titleHeaderStr3;
109
110             self.numberLab.frame = CGRectMake(onlineX, onlineY, onlineW, onlineH);
111             self.numberLab.textAlignment = NSTextAlignmentRight;
112
113             [headerView.contentView addSubview:self.numberLab];
114             return headerView;
115             break;
116
117         default:
118             return headerView;
119             break;
120     }
121 }
122
123 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
124     return 60;
125 }
时间: 2024-10-05 00:10:29

GitHub_HeadersDownCells_标题view下拉子cells的相关文章

带下拉子菜单的导航菜单

一.带下拉子菜单的导航菜单 下拉菜单在一些企业网站应用尤为广泛,它存在使用方便,占用空间小等特点.之前纵向导航教程中已使用过二级导航,今天制作下横向导航菜单的二级菜单,方法和纵向一样,只不过由纵向改变为横向而已,下面我们以上一章第二节用图片美化的横向导航中的实例进行修改. 先在html代码增加二级菜单的代码: <div id=”menu”><ul><li><a id=”current” href=”#”>首页</a></li><

js实例之制作多个下拉子菜单,实现下拉菜单显示和隐藏效果

1 <head> 2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 3 <title>无标题文档</title> 4 <style type="text/css"> 5 *{margin:0px auto;padding:0px;} 6 #menu{width:800px;height:40px

jQuery宽屏下拉菜单导航 子菜单可自定义

jQuery是一款流行已久的Javascript框架,确实很好用.今天我们要介绍一款用jQuery实现的下拉菜单导航插件,下拉菜单的外观是仿腾讯云官网菜单的.鼠标滑过主菜单时,即可展开二级下拉子菜单.值得注意的是,这款jQuery下拉菜单的子菜单内容可以自定义,因此也非常灵活. 访问地址:http://www.xuecss3.com/jquery-10-757-1.html 另外分享一个FQ软件:下载地址  http://www.xuecss3.com/qianduan-9-374-1.html

jQuery如何实现点击下拉菜单的隐藏和显示

jQuery如何实现点击下拉菜单的隐藏和显示:在众多的网站都有这样的效果,那就是点击一个父菜单就会显示下拉子菜单,再点击父菜单,那么子菜单就会隐藏,下面就简单介绍一下如何实现此中效果.这里只介绍如何使用jQuery实现此效果,暂且不考虑效果的美观度,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" co

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

Android公共库--图片缓存 网络缓存 下拉及底部更多ListView 公共类 转载自http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon已开源,地

ios7上UISearchBar和UITableView下拉刷新的时候阴影解决

_searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; _searchBar.delegate = self; //不贴view下拉就会有阴影 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; [view addSubview:_searchBar]; self.tableView.tableHeaderVi

轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单

1. 引言 上一节(第三节)<轻量级web富文本框——wangEditor使用手册(3)——如何自定义配置菜单>描述了如何自定义配置一个新加入的菜单.在第二节中我们演示了如何添加一个简单的菜单,这一节我们要加入一个稍微复杂一点的菜单——下拉菜单类型——增加一个“设置标题”下拉按钮 下载地址:https://github.com/wangfupeng1988/wangEditor demo演示:http://www.cnblogs.com/wangfupeng1988/p/4185508.htm

Web标准:八、下拉及多级弹出菜单

Web标准:八.下拉及多级弹出菜单 知识点: 1.带下拉子菜单的导航菜单 2.绝对定位和浮动的区别和运用 3.CSS自适应宽度滑动门菜单 1)带下拉子菜单的导航菜单 带下拉子菜单的就是在一级导航下加一个二级菜单.这个在上一节第七节课上我已经做出来了,这里就不再写了.再重温一下注意点:如果要在一级菜单下增加二级菜单,二级菜单需要加一个float:none;来去掉浮动,否则二级菜单也会浮动到一行上去了. 2)绝对定位和浮动的区别和运用 绝对定位:它的位置将依据浏览器左上角开始计算或相对于父容器(在父

【Java/Android性能优 7】Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

本文转自:http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon已开源,地址为[email protected],欢迎Star或Fork^_* 示例APK