如何在标题文本和tableview之间添加空格

时间:2018-04-04 15:31:16

标签: ios objective-c xcode ios11

在iOS 11中,我注意到在Control Center中他们有一个标题视图,它在底部和tableview单元格之间有空格。你会如何实现这一目标? heightForHeaderInSection仅更改标题顶部与其上方的高度之间的高度,但不更改底部和tableview之间的空间。

enter image description here

更新: 以下代码对我来说很有意思。

- (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;
}

1 个答案:

答案 0 :(得分:1)

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

tableView(_:viewForHeaderInSection:)适用于UITableViewAutomaticDimension,但如果您事先知道标题高度,则可以将其与heightForHeaderInSection结合使用。