interactivePopGestureRecognizer - 弹出或返回当前视图控制器

Posted

技术标签:

【中文标题】interactivePopGestureRecognizer - 弹出或返回当前视图控制器【英文标题】:interactivePopGestureRecognizer - pop or back to curent view controller 【发布时间】:2015-09-09 08:18:32 【问题描述】:

如何检测我的 interactivePopGestureRecognizer 是否已完成并将返回(弹出)到前一个视图控制器或 shift 不够。然后当前视图控制器将回到他的正常位置。

我的代码:

if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) 
    [self.interactivePopGestureRecognizer addTarget:self action:@selector(defaultGestureAction:)];


- (void)defaultGestureAction:(UIGestureRecognizer *)sender 

   if (sender.state == UIGestureRecognizerStateBegan || sender.state == UIGestureRecognizerStateChanged) 

    else 

   //this code is fired when I touch up
   //is there any way to check this action (pop or stay)?
   

【问题讨论】:

【参考方案1】:

我认为没有任何可以使用的标志表明该手势是积极的还是消极的。

您可以通过分析平移点和速度自行尝试:

- (void)defaultGestureAction:(UIScreenEdgePanGestureRecognizer *)sender

    if (sender.state == UIGestureRecognizerStateEnded)
    
        CGPoint translatedPoint = [(UIScreenEdgePanGestureRecognizer*) sender translationInView:[sender view]];
        if(translatedPoint.x > self.view.bounds.size.width * 0.5f || [sender velocityInView:self.view].x > 500.0f)
        
            //did trigger translation
        
        else
        
            //did cancel translation
        
    

【讨论】:

以上是关于interactivePopGestureRecognizer - 弹出或返回当前视图控制器的主要内容,如果未能解决你的问题,请参考以下文章