Maybe fix crash due to VC hierarchy consistency check failing on split collapse/expand
This commit is contained in:
parent
2ccec2f4df
commit
a07b398cbe
|
@ -214,6 +214,10 @@ extension MainSplitViewController: UISplitViewControllerDelegate {
|
|||
if item == sidebar.selectedItem {
|
||||
itemNavStack = secondaryNavController.viewControllers
|
||||
secondaryNavController.viewControllers = []
|
||||
// Sometimes removing a VC from the viewControllers array doesn't immediately remove it's view from the hierarchy
|
||||
for vc in itemNavStack {
|
||||
vc.viewIfLoaded?.removeFromSuperview()
|
||||
}
|
||||
} else {
|
||||
itemNavStack = navigationStacks[item] ?? []
|
||||
navigationStacks.removeValue(forKey: item)
|
||||
|
@ -339,6 +343,11 @@ extension MainSplitViewController: UISplitViewControllerDelegate {
|
|||
let viewControllersToMove = navController.viewControllers.dropFirst(skipFirst)
|
||||
navController.viewControllers.removeLast(navController.viewControllers.count - skipFirst)
|
||||
|
||||
// Sometimes removing a VC from the viewControllers array doesn't immediately remove it's view from the hierarchy
|
||||
for vc in viewControllersToMove {
|
||||
vc.viewIfLoaded?.removeFromSuperview()
|
||||
}
|
||||
|
||||
if let prepend = prepend {
|
||||
navigationStacks[item] = [prepend] + viewControllersToMove
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue