Hi.
We discovered this strange behaviour when we're planning to migrate to Xcode 26.2 RC.
When our app is running on iOS 26, view controllers thar are pushed from the root of UITabBarController will show with an animation. The views are growing from either the top-left or bottom-right corner. This only happens when the hidesBottomBarWhenPushed variable is set to true. Also it only happens to view controllers that are pushed directly from a UITabBarController; subsequent view controllers that are pushed will not have this weird animation.
Since our app design requires hidesBottomBarWhenPushed to be true, we are asking if there is any way to fix this animation.
Please refer to the following gif:
We have tried methods described in this article but it doesn't work all the time: https://darjeelingsteve.com/articles/Fixing-UINavigationController-Push-Animation-Layout-Issues-on-iOS-26.html.
We've tried the following three methods:
This does not work at all. First-level view controllers are still showing with animation.
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
super.pushViewController(viewController, animated: animated)
transitionCoordinator?.animate { _ in
UIView.performWithoutAnimation {
viewController.view.layoutIfNeeded()
}
}
}
This does not work as well.
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
super.pushViewController(viewController, animated: animated)
transitionCoordinator?.animate(alongsideTransition: { [weak self] _ in
UIView.performWithoutAnimation {
self?.navigationBar.layoutIfNeeded()
}
}, completion: nil)
}
This works sometimes. However it breaks the push animation for some view controllers.
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
super.pushViewController(viewController, animated: animated)
UIView.performWithoutAnimation {
viewController.view.layoutIfNeeded()
}
}
We've created a simple sample project that reproduces this problem. Please run it on a simulator running iOS 26.
https://drive.google.com/file/d/1q3pokphh1YDINH69LrHuqJQe8MijHQ2m/view?usp=sharing
If anyone has a solution to this please let me know. Thank you for reading.
Topic:
UI Frameworks
SubTopic:
UIKit