TableView遇到的问题
2016-01-16 18:13
381 查看
1.所建立的TableView滑动不到底部的问题:
tableView继承scrollerView,当tableview开始建立的时候,会先计算每个cell的高度和每个headerview的高度、footerView的高度的总和就是contentSize的总和。当建立tableview的时候,frame的设置有时候会影响tableview的滑动,原因由于view的上面还有navigationbar的高度44和状态栏的高度20,若是tableview需要占整个屏幕的大小需要将控制器view的高度减去他们两的高度2.当tableView有多个section的时候,section的视图随着tableview滑动到顶部时即卡在顶部不随其滑动
解决方法监控scrollerView的滑动- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat sectionHeaderHeight = 40;
if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
}
else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
}
}
但是此方法会造成tableview的滑动不顺畅
建议重写headview中的setframe的方法
- (void)setFrame:(CGRect)frame{
CGRectsectionRect = [self.tableViewrectForSection:self.section];
CGRectnewFrame =CGRectMake(CGRectGetMinX(frame),CGRectGetMinY(sectionRect),CGRectGetWidth(frame),CGRectGetHeight(frame)); [supersetFrame:newFrame];
}
此处的方法也会造成不顺畅
最好的办法是更改tableview的类型为group
相关文章推荐
- 编程修养
- WINDOWS下的目录映射工具(微软官方工具)
- 水题
- UESTC-- 1263
- 迪米特法则学习笔记
- 数据结构_7:图算法 :图的最小生成树
- Dplasma调度方式—— DAGUE_SCHEDULER_AP(Absolute priorities)
- 专业课第二章知识总结
- 第1周:指针与字符串
- JavaSE-可变个数的形参
- Android同一设备DPI数值大小与显示大小的关系
- 寒假培训
- 应用HTMLTestRunner整合测试报告
- socket函数接收发送详解
- POJ 3660 Cow Contest(Floyd)
- 237. Delete Node in a Linked List
- bcdboot应用
- CSS选择器
- form 布局
- linux下socket常用函数