我正在使用简单的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;
}
答案 0 :(得分:2)
表的标头可以设置为UIView
的任何子类。特别是,您可以创建UILabel
,使用所需的字体大小设置文本,然后将标签设为headerView
。
编辑的三个潜在问题:
您是否记得实施tableView:heightForHeaderInSection:
?
UILabel
的高度目前为0
。
调用此方法时,可能尚未定义tableView.tableHeaderView
。
我的方法是声明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;
}