我想实现这样的分段控件(用红色圈出):
(当我们滚动这个视图时,分段控件在视图的顶部保持粘性,这让我认为它本身就是一个单元格?但我可能错了。)
我已经实现了一个自定义单元格(在上面的图片中以紫色显示红色椭圆上方的内容)并将其添加到我的表格视图的标题中,如下所示:
BigCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"BigCell"];
self.tableView.tableHeaderView = cell;
现在,我想我应该在其中创建一个带有分段控件的第二个单元格,并将其添加到表格标题中(而不是在标题标题中,因为我有许多标题部分)。
然后,我会创建一个包含这两个单元格的UIView并将此视图添加为我的tableView的标题?这是一个正确的方法吗? 非常感谢您的帮助!
答案 0 :(得分:2)
我认为你有几个选择。
1)制作一个容器视图来托管你的两个"单元格#34; (不需要UITableViewCells - 只是视图......)。将单个容器视图添加为表头。
2)放弃使用表格标题并将您的观点放在桌子上方,使其缩短。如果您正在使用UITableViewController,这会更复杂,但如果您只是在其他自定义UIViewController中托管UITableView,则会很简单。
答案 1 :(得分:0)
这是一个例子,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;
}