Post

Replies

Boosts

Views

Activity

iOS 18. UINavigationController stack changes with delay
If I do something like this: var viewControllers = navigationController.viewControllers if let lastViewController = viewControllers.popLast() { navigationController.viewControllers = viewControllers navigationController.pushViewController(lastViewController, animated: false) } } I got crash: pushing the same view controller instance more than once If I set delay: var viewControllers = navigationController.viewControllers if let lastViewController = viewControllers.popLast() { navigationController.viewControllers = viewControllers DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { navigationController.pushViewController(lastViewController, animated: false) } } it will work but with unnecessary transitions. Should it work like this in iOS 18 ?
2
3
1.5k
Jun ’24
iOS 18. UINavigationController stack changes with delay
If I do something like this: var viewControllers = navigationController.viewControllers if let lastViewController = viewControllers.popLast() { navigationController.viewControllers = viewControllers navigationController.pushViewController(lastViewController, animated: false) } } I got crash: pushing the same view controller instance more than once If I set delay: var viewControllers = navigationController.viewControllers if let lastViewController = viewControllers.popLast() { navigationController.viewControllers = viewControllers DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { navigationController.pushViewController(lastViewController, animated: false) } } it will work but with unnecessary transitions. Should it work like this in iOS 18 ?
Replies
2
Boosts
3
Views
1.5k
Activity
Jun ’24
iOS 18 beta. UINavigationController stack doesn't change.
iOS 18 22A5282m navigationController.viewControllers = [UIViewController()] or navigationController.setViewControllers([UIViewController()], animated: false) doesn't change navigation stack anymore.
Replies
1
Boosts
2
Views
742
Activity
Jun ’24