之前自己在做项目的过程中遇到过这种情况,如果在项目中自己定制了导航栏的左按钮返回事件,这样的话就无法触发系统的侧滑返回事件,在一定程度上影响了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;
}}
综上,侧滑的问题基本就解决了。可能我这种方法还存在一定的弊端未被发现,或者有更好地方法可以解决这个问题,我发现后会再次更新。
本文详细介绍了在iOS应用中解决自定义导航栏左按钮返回事件后实现系统侧滑返回效果的方法,并讨论了解决方案在不同场景下的应用及后续可能出现的问题。通过设置导航控制器的交互式弹出手势代理属性,可以在不干扰自定义返回事件的情况下启用侧滑返回功能。同时,针对快速滑动单元格导致界面假死的问题,提出了一种动态调整交互式弹出手势有效性的策略。
634

被折叠的 条评论
为什么被折叠?



