减lessUITableView的部分之间的空间

有没有办法来减lessUITableView的两个部分之间的空间? 每个部分之间有大约15个像素。 我已经尝试返回0为-tableView:heightForFooterInSection:-tableView:heightForHeaderInSection:但是这并没有改变任何东西。

有什么build议么?

这有点棘手,但试试这个代码:

 - (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section { if (section == 0) { return 6.0; } return 1.0; } - (CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section { return 5.0; } - (UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section { return [[UIView alloc] initWithFrame:CGRectZero]; } - (UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section { return [[UIView alloc] initWithFrame:CGRectZero]; } 

相应地更改值。 为了消除这个空间,我认为0.0不会被接受。 最小的理智值似乎是1.0。

对于所有想把距离缩小到0的人,你必须使用:

 tableView.sectionHeaderHeight = 0.0; tableView.sectionFooterHeight = 0.0; 

因为UITableViewDelegate的服务仅从大于零的浮点数开始起作用。

 -(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section { return 1.0; } -(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section { return 1.0; } -(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section { return [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; } -(UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section { return [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; } 

(使用iOS 4.1和XCode 4.0.2)

你可以在界面生成器的大小标签下实际设置页脚/页眉/单元高度。 默认情况下,页眉/页脚设置为10.0。

您必须减less部分页眉/页脚高度。 那么部分之间的空间会减less。

试试这个代码

它适用于我:-)

 tableView.sectionHeaderHeight = 2.0; tableView.sectionFooterHeight = 2.0; 

您还可以从故事板中减小章节页脚和页眉的高度。 在tableview – >大小检查器。 转到节高度。

故事板中的UITableView的大小检查器。

默认情况下,对普通样式表格设置为22,对分组样式表格设置为10。 您可以通过分别增加/减less页眉和页脚的值来configuration值。

如果您将样式从“分组”改为“平原”,则空间将完全消失。 你仍然可以使用部分。

iOS7的更新由于ARC autorelease更新,这里是@Martin Stolz代码编辑。

 -(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section { if(section == 0) return 6; return 1.0; } -(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section { return 5.0; } -(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section { return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; } -(UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section { return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; } 

(使用iOS7,Xcode v5.0)

对我来说,这个问题是因为我使用了分组表格视图样式( UITableViewStyleGrouped )。 当我将其更改为普通样式( UITableViewStylePlain )时,我的tableView:heightForHeaderInSection:方法是唯一确定每个节标题大小的方法。

对于我只是通过使用下面的代码解决了这个问题,

 func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return section == 0 ? 1 : 20 // 20 is my other sections height } 

第一部分返回1已经解决了这个问题。