关于ios7 UINavigationController.interactivePopGestureRecognizer手势集成

因为公司业务需求,结合网上的资料整理了一下。

如果自定义过navbar的leftbarbutton 或者backbarbutton 原生interactivePopGestureRecognizer默认是关闭的。
随着手机屏幕越来越大,侧滑如今已成主流。因此满足自定义的返回键的时候满足侧滑是必不可少的。

1.在navigationController  开启navigationController的interactivePopGestureRecognizer(建议自定义一个nav, 这个在哪无所谓,关键是要把当前的nav手势打开)

- (void)viewDidLoad

{

    __weak NavigationController *weakSelf = self;

 

    if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)])

    {

        

        self.interactivePopGestureRecognizer.delegate = (id)weakSelf;

        

        self.delegate = (id)weakSelf;

    }

}

2.basevc中(建议自定义一个所有的vc都继承的baseVC)

- (void)viewDidAppear:(BOOL)animated {

    [super viewDidAppear:animated];

    UIViewController * rootvc = self.navigationController.viewControllers[0];

    if ([rootvc isEqual:self]) { //这里必须要把栈低的vc的interactivePopGestureRecognizer挂掉  不然会有些意想不到的bug

        self.navigationController.interactivePopGestureRecognizer.enabled = NO;

    }else{

        self.navigationController.interactivePopGestureRecognizer.enabled = YES;

    }

}

 

补充, self.navigationController.interactivePopGestureRecognizer可以像其他手势一样添加事件,但是这是个危险的操作,

因为在你风骚的侧滑时,self的class会在两个vc中不停的跳转  简直让你抓毛。因此并不推荐,  如果有哪位大大解决了还请吱一声~

转载于:https://www.cnblogs.com/seth-chen/p/5179725.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值