[英]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.