Fix crash when trying to remove popped view controller that doesn't exist
This commit is contained in:
parent
f13874ee01
commit
85765928b4
|
@ -141,11 +141,13 @@ class EnhancedNavigationViewController: UINavigationController {
|
|||
if self.interactivePushTransition.interactive {
|
||||
// when an interactive push gesture is cancelled, make sure to adding the VC that was being pushed back onto the popped stack so it doesn't disappear
|
||||
self.poppedViewControllers.insert(self.interactivePushTransition.pushingViewController!, at: 0)
|
||||
} else {
|
||||
} else if self.interactivePopGestureRecognizer?.state == .ended {
|
||||
// when an interactive pop gesture is cancelled (i.e. the user lifts their finger before it triggers),
|
||||
// the popViewController(animated:) method has already been called so the VC has already been added to the popped stack
|
||||
// so we make sure to remove it, otherwise there could be duplicate VCs on the navigation stasck
|
||||
self.poppedViewControllers.remove(at: 0)
|
||||
if !self.poppedViewControllers.isEmpty {
|
||||
self.poppedViewControllers.remove(at: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue