2013-03-14 3 views
1

Я активировал анимацию UIView в scrollViewDidScroll, изменив PullToRefresh lib. Я хочу, чтобы отключить анимацию, когда пользователь начинает тянуть и завершать ее, когда ствол для обновления заголовка загорается. Однако анимация работает только тогда, когда пользователь отпускает; во время, когда пользователь продолжает тянуть, анимация не работает ... Большое спасибо за вашу помощь заранее! :)анимация в 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

использовать только [тег: Xcode] тег для вопросов о самом интерфейсе программирования. Благодаря! – Undo

+0

снят тег 'animation'. Благодаря! – trillions

ответ

3

Обычно таймеры не срабатывают, когда пользователь перетаскивает прокрутку.

Try планирования таймера, как это:

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

безупречный ответ! большое спасибо! :) – trillions

Смежные вопросы