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];
}