对于UITableView的标题视图,将height设置为0

ara*_*ide 8 uitableview ios

我使用下面的代码来设置UITableView的标题视图的高度

- (CGFloat)tableView:(UITableView *)tableView
heightForHeaderInSection:(NSInteger)section
{
    CGFloat height = 0.0; //  

    return height;
}
Run Code Online (Sandbox Code Playgroud)

但它显示异常,如下所示

在此输入图像描述

有一个白色块,欢迎你的评论

Lit*_*T.V 27

Tableview框架未正确设置.检查代码或nib

委托返回headerview高度,并且在表格中是正确的,因为tableview边缘和单元格之间没有空格

使用setFrame方法通过代码正确设置

将高度设置为0将不会更改分组表的截面高度.因此,作为调整使用非常小的值但不是0

- (CGFloat)tableView:(UITableView *)tableView
heightForHeaderInSection:(NSInteger)section
{
    CGFloat height = 0.001;   
    return height;
}
Run Code Online (Sandbox Code Playgroud)

  • 好戏.0.001后的可爱评论; :) (5认同)

小智 7

迅捷 4

正如其他答案所说,如果您为高度返回 0,则表示您说设置为默认值。

使用少量喜欢CGFloat.leastNonzeroMagnitude解决问题。

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return CGFloat.leastNonzeroMagnitude
    }
Run Code Online (Sandbox Code Playgroud)

希望这有帮助。


Cap*_*uff 6

你应该nil从你的实施回来- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

//return header view for specified section of table view
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    //check header height is valid
    if([self tableView:tableView heightForHeaderInSection:section] == 0.0)
    {
        //bail
        return nil;
    }

    //create header view
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, [self tableView:tableView heightForHeaderInSection:section])];

    //

    //return header view
    return view;
}
Run Code Online (Sandbox Code Playgroud)