簡體   English   中英

如何在父視圖中限制UIPanGestureRecognizer

[英]how to limit UIPanGestureRecognizer with in parent view

嗨,我在我的項目中使用了UIPanGestureRecognizer 我用下面的代碼來處理UIPanGestureRecognizer

- (void)handlePan:(UIPanGestureRecognizer *)recognizer {

      CGPoint translation = [recognizer translationInView:self];
      CGFloat newX = MIN(recognizer.view.frame.origin.x + translation.x, self.frame.size.width - recognizer.view.frame.size.width);
      CGRect newFrame = CGRectMake( newX,recognizer.view.frame.origin.y, recognizer.view.frame.size.width, recognizer.view.frame.size.height);
      recognizer.view.frame = newFrame;
      [recognizer setTranslation:CGPointZero inView:self];
}

在此處輸入圖片說明

我在項目中有兩個視圖,一個是父視圖(紅色視圖),另一個是子視圖(綠色視圖)。 我的要求是我需要在父視圖中平移子視圖。 我的handlePan方法可以正常工作,但唯一的問題是它允許平移超出左側的限制。 它在右側完美工作。 我需要更改代碼的內容請幫幫我。

您應該檢查UIGestureRecognizerDelegate

實現- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch並在您不希望手勢識別器接收到觸摸事件時返回NO。

在手勢識別器上為新觸摸調用touchesBegan:withEvent:之前,將調用此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM