2013-03-14 2 views
1

PullToRefresh 라이브러리를 수정하여 scrollViewDidScroll 내에서 UIView 애니메이션을 실행했습니다. 내가 원하는 것은 사용자가 끌어 오기를 시작하고 헤더 뷰를 새로 고침하기 위해 끌어 오기가 화면에서 사라질 때 애니메이션을 시작하는 것입니다. 그러나 애니메이션은 사용자가 풀을 풀 때만 작동합니다. 사용자가 계속해서 당기는 동안 애니메이션이 작동하지 않습니다 ... 미리 감사드립니다. :)ScrollViewDidScroll 내의 애니메이션

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (scrollView.isDragging) { 
     if (refreshHeaderView.state == EGOOPullRefreshPulling && scrollView.contentOffset.y > -65.0f && scrollView.contentOffset.y < 0.0f && !_reloading) { 
      [refreshHeaderView setState:EGOOPullRefreshNormal]; 
      if (timer) { 
       [timer invalidate]; 
       timer = nil; 
      } 
     } else if (refreshHeaderView.state == EGOOPullRefreshNormal && scrollView.contentOffset.y < -65.0f && !_reloading) { 
      [refreshHeaderView setState:EGOOPullRefreshPulling]; 
      if (!timer) { 
       timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(startMyAnimation) userInfo: nil repeats: YES]; 
      } 
     } 
    } 
} 
+0

가 만 [엑스 코드 태그]를 사용합니다. 감사! – Undo

+0

'animation'태그가 삭제되었습니다. 감사! – trillions

답변

3

일반적으로 사용자가 스크롤보기에서 드래그하는 동안 타이머가 작동하지 않습니다. 다음과 같이 타이머를 예약

시도 : 프로그래밍 인터페이스 자체에 대한 질문 태그 :

timer = [NSTimer timerWithTimeInterval:0.5 target:self selector:@selector(startMyAnimation) userInfo: nil repeats: YES]; 
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 
+0

완벽한 답변! 고마워요! :) – trillions

관련 문제