项目需要做了一个类似qq联系人的折叠表格,思路很简单:设置每个section的header,在header上显示组名等信息,然后根据折叠与否,设置每个section中cell的数量,如果折叠,则将之设置为0,否则设置为实际的cell数量,然后刷新表格即可。

那么问题来了:

1、如果使用UITableViewStylePlain样式的表格,那么header是会在表格滑动的时候在顶部悬浮,而不是跟随表格的滑动而一起滑动。

2、如果使用了UITableViewStyleGrouped样式的表格,tableView:viewForHeaderInSection:的section的值会从1开始,而不是从0开始

解决方案:

问题1:将表格的样式设置为UITableViewStyleGrouped,这样header会随着表格滑动而滑动,不会在顶部悬停。但是此时样式会有所改变,因为UITableViewStyleGrouped表格会有默认的header及footer高度(好像是13),根据自己的需要,设置相应的header及footer即可。

问题2:产生的原因是使用sectionHeaderHeight来设置header的高度,而不是使用委托方法(tableView:heightForHeaderInSection:)来设置,这应该是个bug。



折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)的更多相关文章

  1. 【代码笔记】iOS-一个tableView,两个section

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  2. 【iOS】tableView:viewForHeaderInSection: 方法未调用

    今天遇到这个问题,即重写的方法 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)sec ...

  3. css折叠表格

    1.html <div class="custom-fold-table"> <table cellpadding="0" cellspaci ...

  4. IOS 作业项目 TableView两个section中cell置顶功能实现

    点击cell会置顶,其他的下移

  5. UITableView表格操作

    UITableView[表格视图] UITableView是表格视图,是UIScrollView的子类,非常重要. 一.表格视图常用属性 1.基本属性方法 创建一个tableView //    UI ...

  6. iOS开发UI篇-实现tableView的层级显示

     进来要实现一个tableView 的cell层级显示,网上找的思路都各不相同.下面说一下我的实现思路.  根据根标题存储cell的展开状态,添加到字典中. 话不多说,直接上代码. #define S ...

  7. tableView的使用(一)

    //tableView的创建    //1.初始化 initWithFrame:style:(plian,gronp)    //2.设置属性(行高, 分割线, 表头, 表尾)    //3.添加到父 ...

  8. IOS异常日志记录与展现功能

    在平常的APP开发过程中经常碰到程序遇到异常闪退的问题,通过日志可以把相关的详细错误信息进行记录,本实例要记录不管在哪个页面出错都要进行记录,这边使用到的日志记录插件CocoaLumberjack,以 ...

  9. iOS-高仿通讯录之商品索引排序搜索

    概述 TableView添加右侧索引, 将数据按照索引分组排序, 并添加搜索功能且在搜索界面复用当前页面. 详细 代码下载:http://www.demodashi.com/demo/10696.ht ...

随机推荐

  1. BZOJ 1828 [Usaco2010 Mar]balloc 农场分配(贪心+线段树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1828 [题目大意] 现在有一些线段[l,r]的需求需要满足,i位置最多允许a[i]条线 ...

  2. 【贪心】hdu6180 Schedule

    题意:给你n个任务的开始时间和结束时间,一个机器同时最多执行一个任务,问你最少要几个机器.保证机器最少的前提下,问你每个机器的开动时间(最后一次关闭-第一次开启)之和最少是多少. 把这些线段画在数轴上 ...

  3. Codeforces Beta Round #2 B. The least round way dp

    B. The least round way 题目连接: http://www.codeforces.com/contest/2/problem/B Description There is a sq ...

  4. HDU 3473 Minimum Sum(划分树)

    Minimum Sum Time Limit: 16000/8000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  5. WinCE5.0开发环境的建立

    目前WinCE5.0的开发工具主要有以下几种:Platform Builder5.0.EVC4.0+SP4.Visual Studio2005.其中Platform Builder主要用于定制WinC ...

  6. 一份不太简短的LaTeX教程 lshort – A short in­tro­duc­tion to LATEX 2elshort – A short in­tro­duc­tion to LATEX 2e

    Lshort started as a trans­la­tion and ra­tio­nal­i­sa­tion of a ground-break­ing Ger­man-lan­guage i ...

  7. pytho文件命名不要内部模块或者引用模块名字相同

    自己写的包和模块,注意命名不要和python内置模块和包.以及引用的模块和包名字冲突

  8. Enyim Memached 客户端 执行GET 总是返回NULL

    排查: 1. ping 远程Linux 服务器 正常 2.11211 端口正常 3. ps aux | grep memcached 显示正常 4. 使用另外一个客户端 memcachedClient ...

  9. [Python爬虫] 之十:Selenium +phantomjs抓取活动行中会议活动

    一.介绍 本例子用Selenium +phantomjs爬取活动树(http://www.huodongshu.com/html/find_search.html?search_keyword=数字) ...

  10. Elastic修改副本数量

    分片的个数在创建之后是无法再增加和减少的,除非你另外建一个索引库,而副本是可以在运行的时候,动态增加和减少.因此,在创建索引库时,规划好分片(Shard)是非常重要的,而在插入大量数据时可以先将副本书 ...