之前自己在做项目的过程中遇到过这种情况,如果在项目中自己定制了导航栏的左按钮返回事件,这样的话就无法触发系统的侧滑返回事件,在一定程度上影响了APP使用的舒适度。为了解决这个问题,我在网上也找过很多解决办法,但是在解决了可以侧滑返回问题的同时,新的问题又产生了,在这种循环中不断的查找,最终自己摸索出了一种解决方案,在此记录下,也希望可以帮到正在为这个问题着急的朋友的,废话不多说,进入正题!
问题一:怎么解决自定制左按钮返回事件后实现侧滑返回效果?
self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>)self;
问题二:问题一解决后,如果在tabBarController的界面上,快速的向右或向左滑动单元格2次,界面会假死,无法点击?(此问题用真机调试会更容易出现)
-(void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]{
if ([self isKindOfClass:[OneViewController class]]||[self isKindOfClass:[TwoViewController class]]||[self isKindOfClass:[ThreeViewController class]]||[self isKindOfClass:[FourViewController class]]||[self isKindOfClass:[FiveViewController class]]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}else{
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}}
综上,侧滑的问题基本就解决了。可能我这种方法还存在一定的弊端未被发现,或者有更好地方法可以解决这个问题,我发现后会再次更新。