如何在 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
结合使用。
使用 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
结合使用。