Disable new tab bar look

Hi, I am trying out the new UITabBar stuff in iOS18, and I don't think it'll be a good fit for my app. Is there a way to revert to the old iPad UITabBar look and placement that we've been using before? I don't want to make such a big change like this just yet, but I would need to make other changes to the app as well and I don't want to use the new UITabBar just yet. Is there a way to achieve this?

Answered by DTS Engineer in 790193022

There's a new API in UITabBarController to hide the tabBar under isTabBarHidden

I have submitted a support ticket FB14926690. I encourage each of you to submit one, so we can have responses from Apple.

Is there anyone on this thread who is running iOS18.1 Beta 3 on their device that has noted any changes to the iPad tab bar behavior?

I have a Catalyst-enabled app with a UITabBarController for view switching and a custom "tab bar" (actually a UICollectionView).

In my case, I wanted to hide this new tab bar and side bar. Here is the workaround I needed to do to accomplish that, as setTabBarHidden didn't work for me. Posting here in case it helps anyone else.

internal class MainTabBarController: UITabBarController {
  internal override func viewDidLoad() {
    #if targetEnvironment(macCatalyst)
    mode = .tabSidebar
    sidebar.isHidden = true
    #else
    setTabBarHidden(true, animated: false)
    #endif
  }
}

I agree with many. For those of us who have great working apps that have a look and feel perfectly designed for the last 17 years+. For Apple designers to suddenly determine their 'new' an d probably inexperienced designer change is a 'value add' are grossly mistaken. Give the developers who have designed great apps for decades some respect and don't break the look and feel and/or generate hours or weeks of 'redesign' to fit some new employees 'vision'.

Any progress on this? Where can I complain LOUDLY?! Our app has this stuff on the bottom of the screen ergonomic reasons and just can't be moved.

This is disastrous!

we have a highly customized UI in our app, and the floating tab covers the navigation item title!

I have a solution that works very well to restoring the old tab bar layout: https://stackoverflow.com/a/78902044

I have it working in my production app already, and haven't had any issues.

if #available(iOS 18.0, *) && UIDevice.current.userInterfaceIdiom == .pad {
    traitOverrides.horizontalSizeClass = .compact
}

The above code resolved this for me. horizontalSizeClass .compact sets the tab bar to the previous "normal" mode.

Thank you!

I confirm that this works!

Disable new tab bar look
 
 
Q