gpt4 book ai didi

iphone - 自定义 UITableViewController 的标题部分

转载 作者:太空狗 更新时间:2023-10-30 03:39:40 27 4
gpt4 key购买 nike

我需要自定义 UITableViewController 的 header 部分,其中为每个部分返回不同的 header 文本(也从数据源获取数据)。这是使用以下方法完成的:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSArray *temp = [listOfMBeans allKeys];
DLog(@"MBean details: %@", temp);
NSString *title = [temp objectAtIndex:section];
DLog(@"Header Title: %@", title);
return title;
};

效果很好,我可以看到预期的输出。但是我还需要更改文本的字体大小,在查看​​类似问题后我已经实现了以下内容:

- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
DLog(@"Custom Header Section Title being set");
UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];

UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];
label.text = [tableView.dataSource tableView:tableView titleForHeaderInSection:section];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:14];

[headerView addSubview:label];
return headerView;
}

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 44.0;
}

但是似乎代码从未被调用过。我的理解是 UITableViewController 默认设置为委托(delegate),但看来我错了。

UITableViewController 以这种方式创建(作为分层数据的一部分):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
ProjectDetails *detailViewController = [[ProjectDetails alloc] initWithStyle:UITableViewStyleGrouped];
detailViewController.project = [listOfMetrics objectAtIndex:indexPath.row];

// Push the detail view controller.
[[self navigationController] pushViewController:detailViewController animated:YES];
[detailViewController release];
}

我应该进行哪些更改才能使其正常工作?谢谢。

最佳答案

这个问题比较老,但我想分享我的代码。我为我的节标题使用了通常的表格单元格 View 。我用界面生成器设计了它并实现了以下委托(delegate)方法。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: @"Header"];
cell.textLabel.text = @"test";
return cell;
}

关于iphone - 自定义 UITableViewController 的标题部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6188543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com