如何将某个细胞带到前面

时间:2014-04-09 23:00:58

标签: ios objective-c uitableview

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

- (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:在这里似乎不起作用(第二部分将由第三部分介绍)。我认为这是因为单元格不是表格视图的子视图。 如果我想将段控制单元拉到前面,我该怎么办?

1 个答案:

答案 0 :(得分:0)

您应该使用

将段控件添加为表格而不是表格视图中的单元格
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

然后,你将有2个部分,

1. image cell
2. segment control as header, labels as the cells