2013-01-14 2 views
0

나는 UIScrollView입니다. 스크롤의 표시가 잘못된 행동, 그것은 점프했다 - 나는 수직 스크롤을 할 때스크롤 표시기의 동작이 잘못되었습니다.

[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseOut animations:^{ 
    [comicsScrollView setContentOffset:CGPointMake(comicsScrollView.contentOffset.x, currentView.frame.origin.y + currentView.bounds.size.height/2 - comicsScrollView.bounds.size.height/2) animated:NO]; 
     } completion:^(BOOL finished) { 
    }]; 

방법

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 

속과

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView 

에 동일한 코드 : 나는 코드를 사용하여 contentOffset 설정 또는 이전 위치에 남아 있습니다.

내 실수는 어디에서 왔습니까?

답변

0

setContentOffset 호출은 애니메이션을 처리 할 수 ​​있습니다. animated:YES에 합격하면 UIView animationWithDuration: 블록이 유실됩니다.

, 그냥이 시도 : 답변

[comicsScrollView setContentOffset:CGPointMake(comicsScrollView.contentOffset.x,  
    currentView.frame.origin.y + currentView.bounds.size.height/2 -  
    comicsScrollView.bounds.size.height/2) animated:YES]; 
} completion:nil]; 
+0

들으. 나는 이것을 시도했고 그것은 나를 도와주지 않았다. –

+0

애니메이션을 지연시키기 때문에 내 작업이 아닌 방법입니다. [setContentOffset : CGPointMake (x, y) animated : YES] 스크롤을 지연시킨 후 진드기로 반응해야합니다. –

관련 문제