美文网首页iOS Developer
iOS开发-NavigationController侧滑返回失效

iOS开发-NavigationController侧滑返回失效

作者: Huangbaoqin | 来源:发表于2017-04-18 11:57 被阅读150次
//导致侧滑失效的设置
- navigationBarHidden
- navigationItem.hidesBackButton
- navigationItem.leftBarButtonItem/leftBarButtonItems

UINavigationController有一个交互手势

@property(nullable, nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;

解决方法

@interface SecondViewController () <UIGestureRecognizerDelegate>
@property (nonatomic, strong) id<UIGestureRecognizerDelegate> originalDelegate;
@end
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    self.originalDelegate = self.navigationController.interactivePopGestureRecognizer.delegate;
    self.navigationController.interactivePopGestureRecognizer.delegate = self;
}

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    self.navigationController.interactivePopGestureRecognizer.delegate = self.originalDelegate;
    self.originalDelegate = nil;
}

修改侧滑手势的代理,注意在disappear的时候重置回去

相关文章

网友评论

    本文标题:iOS开发-NavigationController侧滑返回失效

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