限制UIPanGestureRecognizer移动

Tob*_*Sta 2 uiview ios uipangesturerecognizer

我有一个可以使用UIPanGestureRecognizer拖动的UIView对象,但我只希望它能够向上移动3/4的屏幕.我不希望它被剪裁,但是要达到某一点而不能被拖得更远.到目前为止,它只允许它在Y轴上移动(这是所需的).

- (IBAction)panGesture:(UIPanGestureRecognizer *)recognizer
{
  CGPoint translation = [recognizer translationInView:self.view];
  recognizer.view.center = CGPointMake(recognizer.view.center.x, 
                                       recognizer.view.center.y + translation.y);
  [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

rob*_*off 7

所以只需检查新的Y坐标是否太小.如果视图太小,请不要更改视图:

- (IBAction)panGesture:(UIPanGestureRecognizer *)recognizer
{
  CGPoint translation = [recognizer translationInView:self.view];
  [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];

  CGPoint center = recognizer.view.center;
  center.y += translation.y;
  if (center.y < self.yMin)
    return;
  recognizer.view.center = center;
}
Run Code Online (Sandbox Code Playgroud)