将扩展的UITableViewCell保持在最顶层

时间:2014-09-10 13:36:59

标签: ios objective-c uitableview xcode5

我已经实现了SKSTableView,我使用了这个命令:

[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

当我按下一个可扩展的单元格时,它会进入顶部。现在我喜欢这样,当我滚动扩展的单元格时,它会一直保持固定,直到它关闭。我能这样做吗?

1 个答案:

答案 0 :(得分:0)

在UITableView中,您拥有UIScrollView方法。所以你可以这样做:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {

    UITableViewCell *cell =[self.myTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    CGRect cellFrame = [cell convertRect:cell.frame toView:self.view];

    if (self.isStickToTop) {
        self.cell.frame = CGRectMake(0, 0, self.cellFrame.width, cellFrame.size.height);
    }

    else {
        self.cell.frame = CGRectMake(0, scrollView.contentOffset.y, self.cellFrame.width, cellFrame.size.height);
    }        
}

isStickToTop您的维护BOOL变量,该变量将指示单元格是否粘到顶部。不要说你不知道;)