在Viewcontroller中显示带有图像和标签的Headerview

Pug*_*gal 5 iphone objective-c grouped-table http-headers

我是iPhone开发的新手.我创建了一个视图控制器,我使用了分组表视图.现在我想在viewcontroller中显示包含图像和标签的标题视图.请指导我,帮助我解决这个问题.

谢谢.

Com*_*Vie 3

你是指 headerView 还是sectionHeaderView?您可以在方法中向 headerView 添加子视图viewDidLoad

- (void)viewDidLoad {
    [super viewDidLoad];

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 225)];
    label.text = @"BlaBla";
    [self.tableHeaderView addSubview:label];
}
Run Code Online (Sandbox Code Playgroud)

您可以使用该方法指定标签的大小和位置initWithFrame,并将标签作为子视图添加到 tableHeaderView - 您可以使用多个标签来执行此操作。

如果您指的是sectionHeader,您必须实现该tableView:viewForHeaderInSection:方法,您必须在其中创建一个新视图,并向其添加不同的子视图:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 40)];
    label.text = @"BlaBla";
    [view addSubview:label];
    [label release];

    return [view autorelease];
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您还必须实现tableView:heightForHeaderInSection:必须返回您在上述方法中创建的视图的高度的方法:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 50.0f;
}
Run Code Online (Sandbox Code Playgroud)