hidesBottomBarWhenPushed in iOS 26

It appears that hidesBottomBarWhenPushed no longer works in iOS 26 Beta 1. Is it supposed to work, is it going away or is there a alternate behavior we should be using?

Answered by Frameworks Engineer in 844851022

It is not going away. Please file a feedback!

Accepted Answer

It is not going away. Please file a feedback!

hidesBottomBarWhenPushed is working fine for me with iOS 26 for showing/hiding the toolbar. You need to provide details on your setup.

screen recording

Your screenshots are showing a tab bar. hidesBottomBarWhenPushed is for hiding a toolbar.

From the documentation for hidesBottomBarWhenPushed:

A view controller added as a child of a navigation controller can display an optional toolbar at the bottom of the screen. The value of this property on the topmost view controller determines whether the toolbar is visible. If the value of this property is true, the toolbar is hidden. If the value of this property is false, the bar is visible.

Seeing this too - I filed FB18022139

We’ve been using hidesBottomBarWhenPushed for a long time specifically to hide the tab bar, and many developers and companies rely on this behavior to hide the tab bar when pushing view controllers.

This has become one of the top issues in communities like StackOverflow, as the behavior appears to be broken in iOS 26.

If hidesBottomBarWhenPushed no longer hides the tab bar in iOS 26, it would mean we have to redesign and fix the layout of every affected screen currently in production.

Therefore, we either need hidesBottomBarWhenPushed to continue working as it did, or Apple needs to provide a new recommended approach for hiding the tab bar when pushing a view controller.

Use

self.tabBarController?.tabBar.isHidden = true

in viewWillAppear to fix this issue.

As mentioned above, hidesBottomBarWhenPushed not functioning with the iOS 26 tab bar is a known issue and will be addressed in a future beta.

That being said, to hide the tab bar through UITabBarController for other reasons, use tabBarController.isTabBarHidden instead of isHidden on the UITabBar instance. The UITabBarController API will hide the various supported tab bars, like the iPad and visionOS tab bar. There is also an option to hide with animations with setTabBarHidden(_:animated:).

While testing further on iOS 26, I noticed another issue when using hidesBottomBarWhenPushed = true.

When I push a view controller with this property enabled and then navigate back, the pushed view controller’s deinit() is not called.

Additionally, the navigation bar does not properly reset — for example, the rightBarButtonItem set in the pushed view controller remains visible even after returning to the previous screen (e.g., the Home tab).

It seems likely that because deinit() is not called, the pushed controller is not fully removed from memory, which may explain why its navigationItem is still affecting the navigation bar after popping.

This behavior disappears when I comment out hidesBottomBarWhenPushed = true.

[@Den Jo](https://developer.apple.com/forums/profile/Den Jo) Exactly the same happens to me as well. Also, the background of the tabbar does not fully respect the theme of the iPhone, specifically when it is set to dark, as the background colour of the tabbar changes from light to dark randomly. On the other hand the background of the bar button items in every navigation bar behaves correctly.

Just wanted to follow up — I’ve tested again on Beta 3, and unfortunately, the issue still hasn’t been resolved. Would appreciate any updates or confirmation on whether a fix is being tracked.

UINavigationController hidesBarsOnSwipe also not work for it`s toolbar in iOS 26

This is resolved in beta 4 - thanks!

Xcode Beta 4 - Simulator

Not solved in iOS 26 beta 4 for me, either. My app contains a VC with a table view which shows a list of chats. When the user taps on a row, we init a "messages" VC, set .hidesBottomBarWhenPushed = true and then push that VC. In iOS 18, when the messages VC appears, the tab bar is hidden. In iOS 26, including yesterday's beta 4 release, it is still visible and it appears over top of the input bar, etc. in our messages VC.

Well, as it turns out, this issue was fixed in iOS 26 dev beta 4. I was testing on the simulator (using Xcode 26 beta 4) and it was still broken. When I launched Xcode this morning, it said that the iOS 26 simulator hadn't been downloaded yet so I assume that meant that the 26.0 b4 simulator wasn't yet available for download when I installed Xcode 26 b4 so the simulator I was using must've still been iOS 26.0 b3! After updating the simulator to b4 and running the app again, this issue with the tab bar has indeed been fixed.

In Beta-4, there's a very obvious bug that needs to be fixed. When swiping back to the primary page from a secondary page, if the user doesn't lift their finger, they can still click on the TabBar Items at this moment. After clicking, the TabBar disappears, even on the home screen.

I still see this issue, Im using Xcode beta 4, running test on iPad with iPadOS Developer Beta. I tried

  • [self.tabBarController setTabBarHidden:true]; in viewWillAppear
  • [self.tabBarController.tabBar setHidden:true]; in viewWillAppear
  • [self.tabBarController setHidesBottomBarWhenPushed:true]; in parent view controller

Hi team, I found another werid issue in iPad OS 26 only. I can easily reproduce it with a simple example app even in iPadOS 26 RC. I've submitted a feedback FB20215332, could you have a look? Thanks!

We have a UITabBarController which contains two tabs.

  • The first tab is a UINavigationController which includes ViewControllerA and ViewControllerB
  • The second tab is just a simple UIViewController ViewControllerC

We set the self.traitOverrides.horizontalSizeClass = .compact in TabBarController because we don't want to show the new style of tab bar.

We set the hidesBottomBarWhenPushed to true for ViewControllerB when pusing from ViewControllerA because we don't want the tab bar to show in the navigation flow. Also, there is a button in ViewControllerB and it can navigate to ViewControllerC. However, when we tap the button in ViewControllerB, it did navigate to ViewControllerC but the TabBar is missing and at this point we have to kill the app, otherwise we cannot do anything.

As I mentioned above, this issue only happens on iPadOS 26.0. In iOS, it works properly. In iOS and iPadOS 18, it works fine as well. Also, if this flow is built by SwiftUI, then there is no issue on both iOS and iPadOS 26.

Hello @zjfjack, @daoyin

Are you still seeing your issue in iOS 26.5 (23F77)?

Thank you,

Richard Yeh  Developer Technical Support

hidesBottomBarWhenPushed in iOS 26
 
 
Q