開發(fā)中為了使頁面具有統(tǒng)一效果,經常會對導航欄進行統(tǒng)一的設置,但是自定義navigationController后,側滑返回會失效,此時可以在基類里面添加以下方法:
1)最簡單的方法:(重新設置手勢的delegate)
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;
2)手勢:(自己添加手勢響應事件)
[self.navigationController.interactivePopGestureRecognizer addTarget:self action:@selector(handleGesture:)];
等同于下面的代碼:
@property(nonatomic,strong)UISwipeGestureRecognizer*rightSwipeGestureRecognizer;
self.rightSwipeGestureRecognizer = [[UISwipeGestureRecognizeralloc] initWithTarget:selfaction:@selector(handleSwipes:)];
self.rightSwipeGestureRecognizer.direction =UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:self.rightSwipeGestureRecognizer];
主要是通過設置navigationController.interactivePopGestureRecognizer 此手勢的一些屬性
self.navigationController.interactivePopGestureRecognizer.enabled = YES | NO;? ? ? 手勢有效與否
self.navigationController.interactivePopGestureRecognizer.delegate = self;?????????????? 手勢的代理,一般會設置為self