自定义返回按钮后恢复滑动返回

2020-04-27  本文已影响0人  Dolway

如相信各位做项目的,一般都是用的自定义的返回按钮,所以我贴几行代码,看看怎么实现系统自带的滑动返回的。
首先,建立一个自定义的返回按钮,然后加上去

  [self.navigationItem setLeftBarButtonItem:backBarItem];

然后

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    //代理置空,否则会闪退,试了几台设备好像不置空也没问题。
   //有些博客中的方案更保守:设置代理之前先获取原代理并保存。在此处还原为原代理
    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
    self.navigationController.interactivePopGestureRecognizer.delegate = nil;
}
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
   //开启iOS7的滑动返回效果
    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
    //只有在二级页面生效
    if ([self.navigationController.viewControllers count] == 2) {
           self.navigationController.interactivePopGestureRecognizer.delegate = self;
    }
}
}
上一篇下一篇

猜你喜欢

热点阅读