如何修改表视图的分组标题中的文本的字体大小?

时间:2011-09-09 01:27:10

标签: objective-c uitableview

我正在使用简单的tableview,但我需要修改组头中文本的字体大小。

我在stackoverflow上发现this问题,引用tableview方法来覆盖,但我正在寻找一个例子,说明一旦我实现这个方法,我将如何修改实际的标题字体大小

注意:我可以使用界面构建器修改标题本身的高度,但字体大小似乎需要一些objective-c来修改此

提前谢谢

修改

这是我到目前为止 - 它没有抛出异常,但标题本身不显示我在标签本身上设置的文本或字体大小

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView* x = tableView.tableHeaderView;
    UILabel* y = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 310, 0)];
    y.font = [UIFont boldSystemFontOfSize:12.0];
    y.text = @"ha";
    [x addSubview:y];
    [y release];

    return x;
}

1 个答案:

答案 0 :(得分:2)

表的标头可以设置为UIView的任何子类。特别是,您可以创建UILabel,使用所需的字体大小设置文本,然后将标签设为headerView


编辑的三个潜在问题:

  1. 您是否记得实施tableView:heightForHeaderInSection:

  2. UILabel的高度目前为0

  3. 调用此方法时,可能尚未定义tableView.tableHeaderView

  4. 我的方法是声明UILabel *headerLabel,然后将其添加到viewDidLoad

    headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 310, 15)];
    headerLabel.font = [UIFont boldSystemFontOfSize:12.0];
    headerLabel.text = @"Testing";
    

    然后有

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
        return 15.0;
    }
    
    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
        return headerLabel;
    }