繁体   English   中英

如何在表视图的标题(而不是节标题)中添加多个单元格?

[英]How to add multiple cells in header of a table view (not section header)?

我想实现这样的分段控件(用红色圈出):

在此处输入图片说明

(当我们滚动此视图时,分段控件在视图的顶部保持粘性,这使我认为它是一个单独的单元格,但我可能是错的)。

我已经实现了一个自定义单元格(该单元格以紫色显示上面图片中红色椭圆上方的内容),并将其添加到表格视图的标题中,如下所示:

BigCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"BigCell"];
self.tableView.tableHeaderView = cell;

现在,我想我应该在其中创建带有分段控件的第二个单元格,并将其也添加到表标题中(而不是在节标题中),因为我有很多带有标题的节。

然后,我将创建一个包含这两个单元格的UIView并将此视图添加为tableView的标头? 这是正确的方法吗? 非常感谢你的帮助 !

我认为您有两种选择。

1)创建一个容器视图来承载您的两个“单元”(不必是UITableViewCells-只是视图...)。 将单个容器视图添加为表标题。

2)完全放弃使用表标题,而只是将视图放在表上方,使其更短。 如果您使用的是UITableViewController,则更为复杂;如果仅将UITableView托管在其他自定义UIViewController中,则更为简单。

这是一个带有uilabel的示例,该示例始终位于顶部-只需将其更改为uisegmentedcontrol

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *viewForSectionHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, SETTINGS_HEADER_HEIGHT)];
    [viewForSectionHeader setBackgroundColor:[Utils colorHeaderBlue]];
    UILabel *lblSectionTitle = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, SETTINGS_HEADER_HEIGHT)];
    lblSectionTitle.text = @"PROFILE";
    lblSectionTitle.textAlignment = NSTextAlignmentCenter;
    lblSectionTitle.textColor = [UIColor whiteColor];
    [viewForSectionHeader addSubview:lblSectionTitle];

    return viewForSectionHeader;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM