iOS开发中解决侧滑根控制器导致的App假死问题

先看问题:

0.侧滑假死.gif

在侧滑根控制器之后App出现了假死现象(在当前页面无法进行任何操作),这是因为我们在点击红色按钮的时候已经进行了页面的跳转但App显示给我们的还是当前页面。

解决问题:

我们只需要在跟控制器中禁止侧滑即可。
代码:

  self.interactivePopGestureRecognizer.delegate = self;   // 为什么加上这行代码就会出现App假死呢
if (navigationController.childViewControllers.count == 1) { // 防止屏幕假死
    self.interactivePopGestureRecognizer.enabled = NO;
}else{
    self.interactivePopGestureRecognizer.enabled = self.interactivePopGestureRecognizerEnable;
}

如果使用全屏侧滑同样会出现这个问题,解决问题的方法是相同的,即在根控制器中禁止侧滑。
代码:

  - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
if (self.childViewControllers.count == 1) { // 防止屏幕假死
    return NO;
}else{
    return YES;
}

}

下面是一个小demo,demo中有添加全屏侧滑的方法以及在某个页面中禁用侧滑的方法。
demo地址: ***https://gitee.com/liangsenliangsen/sideslip.git

注意:

  1. 禁用某个页面的侧滑手势,需要注意禁用和开启的时机,如果时机不对,会造成页面假死。
  2. 导航栏的返回按钮如果是自定义的,系统的侧滑返回会自动失效。

****本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊***

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 从朋友那听来这么一个故事。 农村每家人都会养一条土狗,用来看门。 她那时12岁,隔壁村王伯家的母狗下了一窝仔,阿公...
    玖微w阅读 2,958评论 0 0
  • 520过去了,还是那样 表白右手表白自己。 今天小雨,天阴沉沉的,有种睡不够的感觉,白天依然过的很快,今天这篇有了...
    嗯嗯嗯风声阅读 1,666评论 0 0
  • 《望蓟门》鉴赏(李鑫鹏) 望蓟门​ 祖咏 燕台一望客心惊,笳鼓喧喧汉将营。 万...
    晓叩阅读 1,778评论 0 3
  • 空中腾雾雾成云,云开见日 冰上冻冰冰积雪,雪上加霜
    张咚咚阅读 1,364评论 0 0

友情链接更多精彩内容