自定义leftBarButtonItem的右滑回退功能首页右滑界面卡死解决

iOS7开始是自带界面右滑回退功能的,但是有的时候如果需要自定义那个回退按键,就会去覆盖leftBarButtonItem,而此时iOS自带的右滑回退功能就失效了,此时如果想继续使用这个右滑回退功能,可以在tabBarController的navigationController中加入以下代码:
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.navigationController.interactivePopGestureRecognizer.delegate = nil;
    }
去掉代理后,由navigationController去push的后续界面都可以右滑回退了,但是如果在navigationController页进行右滑的话就会导致界面卡死,此时可以手动加上左边界的右滑事件:
//首页从左滑动做右滑回退会有导致界面卡死 这里定义掉左边的右滑事件加以消除卡死现象
    UIScreenEdgePanGestureRecognizer *leftEdgeGesture = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleLeftEdgeGesture:)];
    leftEdgeGesture.edges = UIRectEdgeLeft;
    [self.view addGestureRecognizer:leftEdgeGesture];
然后实现事件函数,不做任何操作即可:
- (void)handleLeftEdgeGesture:(UIScreenEdgePanGestureRecognizer *)gesture {
    //do nothing
}

这样就可以避免卡死现象 ,后续的viewController也能够拥有右滑回退功能。

还有一个想法还没尝试,就是重写UIViewController,给它手动加上右滑回退功能,然后让需要右滑回退的viewController去继承它。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值