Как определить, перетаскивается ли центр управления

Я создаю приложение, которое реагирует на распознавания жестов вверх и вниз. Я заметил, что когда я случайно перетаскиваю центр управления, мои методы, которые реагируют на перетаскивание / перетаскивание, также вызываются. У меня есть BOOL с именем recordCalled, который является истинным при обнаружении всплывающего окна, если BOOL является истинным, когда приложение переходит в отставку, предполагается, что некоторые методы будут вызваны, что помещает приложение в состояние по умолчанию. Проблема в том, что когда я перетаскиваю центр управления вверх, я вхожу в отставку до того, как recordCalled станет истинным. Как только я удаляю центр управления, мое приложение возвращается в активное состояние. Как я могу предотвратить запуск каких-либо методов, когда приложение уходит в отставку?

EDIT: я могу обойти эту проблему, создав еще один BOOL, который становится ИСТИННЫМ, когда вызывается Resign, и все методы обработки требуют, чтобы BOOL был ложным, чтобы продолжить. Есть ли лучший способ узнать, когда находится центр управления?

  1. Когда я перетаскиваю оба центра управления, этот метод сначала вызывается. Поскольку ни один из параметров не является истинным, ничего не происходит.

    -(void) appDidEnterResign:(NSNotification *)notification { if(viewIsUp || recordCalled) { [self.panedView.layer removeAllAnimations]; viewIsUp = NO; waitingTrackToSave = NO; [self moveViewsDown]; [self onlyStopRecorder]; } } 
  2. Этот метод вызывается сразу после увольнения, но я все еще не вступил в активное состояние.

     - (IBAction)handleUpSwipe:(UISwipeGestureRecognizer *)recognizer { recordCalled = YES; [self beginRecord]; } 
  3. Далее следуют следующие действия, которые вызывает блок анимации для перемещения представления вверх:

     -(void) beginRecord { if(viewIsUp == NO) { [UIView animateWithDuration:.25 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{ [self moveViewsUp]; } completion:^(BOOL finished){ }]; } -(void) moveViewsUp { if(!viewIsUp) { self.panedView.frame = CGRectOffset(self.panedView.frame, 0, -274); } }