首页 > 代码库 > 折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)
折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)
项目需要做了一个类似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。
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000 } span.s1 { } span.s2 { color: #3495af } span.s3 { color: #0433ff }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000 } span.s1 { color: #3495af } span.s2 { }</style> <style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #3495af } span.s1 { }</style>折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。