可以看下侧滑后App上会覆盖一层View,这是导致卡死的根本原因.以下为处理方法.禁止侧滑返回即可解决,个人认为是苹果的bug
Swift 和OC代码如下
// 禁用系统侧滑返回手势
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
}
// 重新启用系统侧滑返回手势
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// 禁用侧滑返回手势
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false
}
override func viewDidDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// 启用侧滑返回手势
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true
}