Мы идем дальше.Я нашел этот метод на основе идеи Кевина.Чтобы иметь возможность установить для анимированного 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 ... Это циклы, да, но только один раз ... Есть идеи о том, почему?