我有一个带有行和节的UITableView。
我想滚动到第二部分的第一项,以使第一部分的标题可见。就像我手动滚动列表直到到达该状态一样。
---- TOP OF SCREEN ----
Header of first section
Header of the second section
cell 1
cell 2
cell 3
Header of the third section
cell 1
cell 2
...
scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]
没有完成这项工作,它隐藏了第一部分的标题。
最佳答案
我们继续前进。我根据凯文的想法找到了这种方法。为了能够将动画设置为YES,我使用UIScrollView的委托方法捕获了动画的结尾。有用。但是任何不做2个动画的解决方案将不胜感激。关于如何执行此操作的任何想法?
- (IBAction) scrollToToday:(BOOL)animate {
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1] atScrollPosition:UITableViewScrollPositionTop animated:animate];
if (animate == NO) [self showFirstHeaderLine:NO];
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
[self showFirstHeaderLine:YES];
}
- (void) showFirstHeaderLine:(BOOL)animate {
CGRect headerRect = [self.tableView rectForHeaderInSection:1];
CGPoint scrollPoint = headerRect.origin;
scrollPoint.y -= headerRect.size.height;
[self.tableView setContentOffset:scrollPoint animated:animate];
}
对此代码来说,动画设置为YES的过程应该在scrollViewDidEndScrollingAnimation和showFirstHeaderLine之间无限循环...它循环,是的,但是只有一次...关于为什么的任何想法?
关于iphone - Iphone:如何滚动到第二部分的第一单元格,使第一部分的标题可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4597839/