ios - 如何将某个单元格放在前面

标签 ios objective-c uitableview

在我的表格 View 中,我有三个部分,其中第一部分包含图像单元格,第二部分包含段控制单元格,第三部分包含一些标签单元格。
我正在做的是当用户向上滚动表格 View 时,所有内容都会向上滚动,但段控制单元格的位置将固定在屏幕的上边缘。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSIndexPath *indexPathOfCurrentHeaderCell =  [NSIndexPath indexPathForRow:0 inSection:0]          ;
UITableViewCell *headerCell = [self.tableView cellForRowAtIndexPath:indexPathOfCurrentHeaderCell];
if (headerCell.frame.origin.y < self.tableView.contentOffset.y)
{
    self.cellHead.hidden = NO;
    self.cellHead.frame = CGRectMake(0, self.tableView.contentOffset.y, self.cellHead.frame.size.width, self.cellHead.frame.size.height);        
}
[self.tableView bringSubviewToFront:self.cellHead];
}

但是函数 bringSubviewToFront: 在这里似乎不起作用(第二部分将被第三部分覆盖)。我认为这是因为单元格不是表格 View 的 subview 。
想把段控单元拉到前面怎么办?

最佳答案

您应该将段控件添加为标题而不是表格 View 中的单元格,使用

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

然后,您将有 2 个部分,
1. image cell
2. segment control as header, labels as the cells

关于ios - 如何将某个单元格放在前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975551/

相关文章:

ios - NSFetchedResultsController 一致延迟更新 UITableView 单元格;插入立即起作用

ios - Swift:使用 NSFetchedResultsController 应用谓词后重新加载 TableView 数据

uitableview - UITableview header 中的 UITapGesture

ios - 错误域=NSURLErrorDomain Code=-1017 "The operation couldn’ t be

objective-c - 应用程序不呈现模态视图 Controller

android - 如何构建 Firebase 中自动完成搜索的数据

iphone - 每次选择选项卡时如何获得相同的 View ?

objective-c - 为什么我不能在 Objective C 中以这种方式初始化 getter?

ios - 我可以将 retain 与 ARC 一起使用吗?

ios - 启动 appium 时仪器崩溃