ios 18.0 bug UITabBarController "More" Tab First Item Not Displaying Properly on iOS 18

Hello everyone,

I'm working on an iOS application using Objective-C and UITabBarController. My app has more than 5 tabs, so the additional tabs are placed under the "More" tab. However, I've encountered an issue specific to iOS 18 where the first item in the "More" tab does not show up properly. This issue does not occur in iOS 17 or earlier versions.

Here's my setup method:

  • (void)mainTabbarSetUp { NSMutableArray *tabItemArray = [NSMutableArray array]; UIViewController *viewController1, *viewController2, *viewController3, *viewController4, *viewController5, *viewController6, *viewController7; UINavigationController *navviewController1, *navviewController2, *navviewController3, *navviewController4, *navviewController5, *navviewController6, *navviewController7;

    viewController1 = [[UIViewController alloc] init]; navviewController1 = [[UINavigationController alloc] initWithRootViewController:viewController1]; navviewController1.tabBarItem.title = @"Watch List"; navviewController1.tabBarItem.image = [UIImage imageNamed:@"tab_icn_watchlist"]; [tabItemArray addObject:navviewController1];

    // Similarly adding other view controllers...

    viewController6 = [[UIViewController alloc] init]; navviewController6 = [[UINavigationController alloc] initWithRootViewController:viewController6]; navviewController6.tabBarItem.title = @"Cancelled"; navviewController6.tabBarItem.image = [UIImage imageNamed:@"tab_icn_cancelled"]; [tabItemArray addObject:navviewController6];

    self.mainTabBarController.viewControllers = tabItemArray;

}

What I've Tried: Verified that each view controller is correctly initialized and assigned to a UINavigationController before being added to the tab array. Logged the contents of the moreNavigationController to confirm that it contains the correct view controllers. Tested by reducing the number of view controllers to less than 5, and the issue does not occur. Ensured that all UINavigationControllers are configured consistently (e.g., translucency, bar style, etc.).

Answered by Frameworks Engineer in 808600022

This is a known issue and is resolved with the iOS 18.1 beta. To workaround the issue on iOS 18.0, you can set UITabBarController.viewControllers after the tab bar controller’s view has loaded (i.e. in its viewDidLoad).

This is a known issue and is resolved with the iOS 18.1 beta. To workaround the issue on iOS 18.0, you can set UITabBarController.viewControllers after the tab bar controller’s view has loaded (i.e. in its viewDidLoad).

ios 18.0 bug UITabBarController "More" Tab First Item Not Displaying Properly on iOS 18
 
 
Q