美文网首页
截取系统返回给自定义手势(全屏返回)

截取系统返回给自定义手势(全屏返回)

作者: 么么木木 | 来源:发表于2017-02-09 13:46 被阅读25次

在自定义的navVC中,用kvc的方式获取到系统返回手势的target和action 赋值给自定义的pan手势 的target 和action,pan手势就实现了系统手势一样的功能

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor grayColor];
    
    UIGestureRecognizer *gesture = self.interactivePopGestureRecognizer;
//    NSLog(@"gesture: %@", gesture);
    UIView *navPopView = gesture.view;
    
    id targets = [gesture valueForKey:@"_targets"];
//    NSLog(@"targets: %@", targets);
    //获取手势
    id targetObjc = [targets firstObject];
//    NSLog(@"targetObjc: %@", targetObjc);
    //获取手势的target
    id target = [targetObjc valueForKey:@"target"];
//    NSLog(@"target: %@", target);
//直接崩溃
    {
//    id action = [targetObjc valueForKey:@"action"];
//    NSLog(@"action: %@", action);
    }
    //获取手势绑定的方法SEL
    SEL sel = NSSelectorFromString(@"handleNavigationTransition:");
//    NSLog(@"sel: %p", &sel);
    //将系统手势返回的target和SEL绑定到自定义的pan手势上
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:target action:sel];
    [navPopView addGestureRecognizer:pan];
    NSLog(@"---%s----%@", __PRETTY_FUNCTION__, [navPopView valueForKey:@"gestureRecognizers"]);
    
}

相关文章

  • 截取系统返回给自定义手势(全屏返回)

    在自定义的navVC中,用kvc的方式获取到系统返回手势的target和action 赋值给自定义的pan手势 的...

  • ### 导航栏NavigationBar的常见问题

    [TOC] 目录 自定义导航栏按钮 调整导航栏按钮位置 自定义返回按钮后滑动返回手势失效 全屏滑动返回手势 导航栏...

  • 基于runtime(80行代码)拦截系统全屏返回手势

    都知道到导航栏自定义的时候,系统的全屏返回手势可能会失效。对于一个产品级的应用程序,没有了全屏返回手势,会是个很致...

  • iOS 全屏返回

    iOS 全屏返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 手势返回

    iOS 手势返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 全屏手势返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • iOS 右滑返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • BBGestureBack 手势返回

    BBGestureBack BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势...

  • iOS 右滑返回

    iOS 右滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS 侧滑返回

    iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

网友评论

      本文标题:截取系统返回给自定义手势(全屏返回)

      本文链接:https://www.haomeiwen.com/subject/kfeiittx.html