缩进UITableView标头标签不起作用

时间:2013-03-05 14:43:16

标签: uitableview

我正在尝试创建标题标签并缩进它,使其显示在表格视图上方,而不是刷新到屏幕左侧。我已经实现了以下代码,它改变了标题标签的外观,但没有改变位置。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)];
    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,0, headerView.frame.size.width, 30)];

    headerLabel.backgroundColor = [UIColor clearColor];
    headerLabel.textColor = [UIColor whiteColor];
    headerLabel.shadowColor = [UIColor grayColor];
    headerLabel.shadowOffset = CGSizeMake(0.0, 1.0);
    headerLabel.font = [UIFont boldSystemFontOfSize:18];
    headerLabel.text = @"Header Label";

    [headerView addSubview:headerLabel];
    return headerLabel;
}

谁能看到我做错了什么?

由于

2 个答案:

答案 0 :(得分:2)

返回标题查看,而不是标题标签。这将解决您的问题。

答案 1 :(得分:0)

我建议你改变这行代码:

 UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)];
 UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,0,     headerView.frame.size.width, 30)];

使用:

 UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,30)];
 UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,0, 100, 30)];

然后递增或递减值10为左边填充,0为填充顶部...

希望帮助