Wyłączenie gestu panoramy, jeśli wykryto poza zakresem

Mam UIView Próbuję przesuwać się w górę iw dół ekranu, jednak chcę tylko włączyć przesuwanie ekranu, aby nie można było przeciągać widoku w dół, gdy znajduje się on w swojej normalnej pozycji (0, 0)

Próbowałem wykryć, kiedy środek rozpoznawania nie jest w połowie wysokości widoku, ale widok jest wtedy nieruchomy, a środek jest zawsze w połowie wysokości (w tym przypadku 230).

Jakieś pomysły?

- (IBAction)panDetected:(UIPanGestureRecognizer *)recognizer {
    CGPoint translation = [recognizer translationInView:self.view];
    NSLog(@"\ncenter.y: %f\ntranslation.y: %f\n", recognizer.view.center.y, translation.y);
    if (recognizer.view.center.y > ([[UIScreen mainScreen] bounds].size.height - 20)/2) {
            return;
    }
    recognizer.view.center = CGPointMake(recognizer.view.center.x,
                                         recognizer.view.center.y + translation.y);
    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}

questionAnswers(4)

yourAnswerToTheQuestion