在使用UITableView的UITableViewStyleGrouped的属性时,会遇到每组的顶部空白如图1;
处理方法:设置UITableView的两个代理就可以解决:
// 解决方法:1(设置headView在代理方法中操作能避免空白) -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
return nil; } -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 0.001; }
//ps:项目需要headView的话就在上边代理中操作即可,如下
-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section
{
switch (section) {
case 0:
return _SectionOne;
break;
case 1:
return _SectionTwo;
break;
case 2:
return _SectionThree;
break;
default:
break;
}
return [UIViewnew];
}
-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
return 120.0;
}
_SectionOne= [[UIImageViewalloc]init];
_SectionOne.frame= CGRectMake(0,0,kScreenWidth,200);
_SectionOne.backgroundColor= [UIColorgrayColor];
// 解决方法:2
_tableView= [[UITableViewalloc]initWithFrame:CGRectMake(0,0,kScreenWidth,kScreenHeight-64)style:UITableViewStyleGrouped];
_tableView.delegate= self;
_tableView.dataSource= self;
_tableView.sectionFooterHeight= 0.0;//如果分组处理每组的foot还会有35像素的距离,加上此属性即可.
_tableView.sectionHeaderHeight= 0.0;//方法2:处理方法设置headView的高度为0即可。
[self.viewaddSubview:_tableView];