Я должен обновлять текст ярлыка каждый раз, когда я просматриваю UIScrollView ... или каждый раз, когда я прокручиваю и оставляю его в точке на своем собственном. Это обновление текста метки выполняется на основе contentoffset scrollview. Так что теперь я ставлю проверки в каждом методе:Как я могу предотвратить резкую прокрутку UIScrollView, если у меня есть вычисления в EndDecelerating, EndDragging и DidScroll?
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
int one = scrollView.contentOffset.x/21;
int two = (21*one)+14;
CGPoint point = CGPointMake(two, scrollView.contentOffset.y);
[scrollView setContentOffset:point animated:YES];
[self setLabelText:@"scroll"];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
int one = scrollView.contentOffset.x/21;
int two = (21*one)+14;
CGPoint point = CGPointMake(two, scrollView.contentOffset.y);
[scrollView setContentOffset:point animated:YES];
[self setLabelText:@"scroll"];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGPoint offset = scrollView.contentOffset;
if (offset.x < minuteScrollMinX) offset.x = minuteScrollMinX;
if (offset.x > minuteScrollMaxX) offset.x = minuteScrollMaxX;
scrollView.contentOffset = offset;
}
Теперь после этого, мой Scrollview становится слишком прерывисто, как я могу предотвратить это прерывистый прокруткой Scrollview? Есть ли общий делегат вместо этих трех методов или даже два лучших метода? Заранее благодарим за любую помощь.
возможно переназначение contentOffset все время не делает его счастливым, попробуйте сделать это, что он только получает переназначен, если смещение на самом деле изменения (в 'scrollViewDidScroll:'). мне кажется, что это должно быть хорошо, хотя – Fonix