Ios 目标C:pan值的触发方法

Ios 目标C:pan值的触发方法,ios,objective-c,ipad,uipangesturerecognizer,Ios,Objective C,Ipad,Uipangesturerecognizer,基于平移手势值触发方法的最佳方式是什么 当我的平移位置x在500到600之间时,我想触发方法。人们通常如何处理这个问题???您需要覆盖手势识别器应该开始。然后,您可以检测translation.x,并查看值介于两者之间的位置 - (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)panGestureRecognizer { CGPoint translation = [panGestureRecognizer tran

基于
平移手势
值触发
方法
的最佳方式是什么


当我的
平移位置x
在500到600之间时,我想触发
方法。人们通常如何处理这个问题???

您需要覆盖手势识别器应该开始。然后,您可以检测translation.x,并查看值介于两者之间的位置

- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)panGestureRecognizer {
   CGPoint translation = [panGestureRecognizer translationInView:self.view];
   if (translation.x > 500 && translation.x < 600)
      [self callCustom];
   return true;
}

- (void) callCustom {
 //do what you need to do
}
-(BOOL)手势识别器应开始:(UIPangestureRecognitor*)PangestureRecognitor{
CGPoint translation=[PangestureRecognitor TranslationView:self.view];
if(translation.x>500&&translation.x<600)
[自我习惯];
返回true;
}
-(无效)海关{
//做你需要做的事
}

我假设您有一个处理平移手势的方法。让这个方法看起来像这样

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

    if (recognizer.state == UIGestureRecognizerStateChanged) {

        CGPoint movement = [recognizer translationInView:self.view];

        if (movement.x >= 500 && movement.x <= 600) {

            [self methodToCall];
        }
    }
}
-(void)handlePan:(UIPangestureRecognitor*)识别器{
if(recognizer.state==UIgestureCongnizerStateChanged){
CGPoint movement=[recognizer translationView:self.view];

如果(movement.x>=500&&movement.x如果我只想调用一次方法怎么办?假设我想启动特定的UIView。根据您给出的建议,只要您的pan仍在继续,它就会继续调用该方法。谢谢!我会使用一个
BOOL
变量,您在第一次调用该方法时将该变量设置为
YES
,然后设置为仅当变量设置为
NO