如何在 header 文本和表格视图之间添加 space

How to add space between header text and tableview

使用 iOS 11 我注意到在控制中心他们有一个 header 视图,在它的底部和表格视图单元格之间有 space。你将如何实现这一目标? heightForHeaderInSection 仅更改 header 顶部与其上方的高度之间的高度,但不会更改底部与 tableview 之间的 space。

更新: 这是对我有用的代码,其他人都想知道。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 15, tableView.frame.size.width - 30, 50)];
    headerLabel.text = @"Text goes here";
    headerLabel.numberOfLines = 0;
    headerLabel.backgroundColor = [UIColor clearColor];
    headerLabel.textAlignment = NSTextAlignmentLeft;
    [headerLabel setFont:[UIFont fontWithName:@"Helvetica Neue" size:12.0]];
    // I could not figure out the exact text color :(
    [headerLabel setTextColor:[UIColor headingTextColor]];

    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, headerLabel.frame.size.width, 200)];
    [headerView addSubview:headerLabel];

    return headerView;
}

我会尝试通过实施 tableView(_:viewForHeaderInSection:) 并提供将用作 header 的自定义视图来实现。在那里你添加一个标签作为子视图并根据需要定位它。

tableView(_:viewForHeaderInSection:)UITableViewAutomaticDimension 一起使用,但如果您预先知道 header 高度,则可以简单地将它与 heightForHeaderInSection 结合使用。