In my case the solution was to subclass UINavigationController and forcing a tab refresh in the methods popViewController, popToRootViewController or popToViewController.
It looks like the behaviour occurs in iOS 18 only.
override func popToViewController(_ viewController: UIViewController, animated: Bool) -> [UIViewController]? {
// work-around for UITabController issue at https://developer.apple.com/forums/thread/677559
if #available(iOS 18.0, *) {
if let myTabBarController = self.parent as? MyTabBarController {
myTabBarController.refreshTabs() // your method for reloading view controllers children
}
}
return super.popToViewController(viewController, animated: animated)
}
Topic:
UI Frameworks
SubTopic:
UIKit