1. Embrace the New Liquid Glass Design
In iOS 26, Apple introduced a new “Liquid Glass” design for tab bars and toolbars 1 . The best approach is to update your app to use this new design language:
– Tab bars now float above content with a semi-transparent glass effect
– Content can extend underneath the tab bar (which is actually the intended design)
– The tab bar minimizes when scrolling down and expands when scrolling up
For SwiftUI:
“`
TabView {
// Your tab content here
}
.tabBarMinimizeBehavior(.onScrollDown) // Enables minimizing on scroll
“`
2. Use TabViewBottomAccessory for Custom Content
If you need to add custom content near the bottom bar 14 :
“`
TabView {
// Your tab content
}
.tabBarMinimizeBehavior(.onScrollDown)
.tabViewBottomAccessory {
// Your custom view/button here
Button(“Add Item”) {
// Action
}
.glassEffect() // Apply glass effect to match iOS 26 style
}
“`
3. For UIKit Apps
If you’re using UIKit 11 :
“`
// For a tab with search role (floating separately)
tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 1)
// You can customize the icon
tabBarItem.image = UIImage(systemName: “your-icon-name”)
“`
4. Disable Glass Effect (If Necessary)
If you need to disable the glass effect 13 :
“`
private extension View {
@ViewBuilder func disableGlassEffect() -> some View {
if #available(iOS 26.0, *) {
glassEffect(isEnabled: false)
} else {
self
}
}
}
// Then apply to your view
TabView {
// Content
}
.disableGlassEffect()
“`
5. For Legacy Designs (Not Recommended)
If you must maintain a non-iOS 16 style bottom bar, you can use a custom container approach 10 :
“`
// In UIKit
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
// Adjust tab bar position to leave space below
tabBar.frame = CGRect(x: 0,
y: self.view.frame.height – tabBar.frame.size.height –
desiredSpaceHeight,
width: tabBar.frame.size.width,
height: tabBar.frame.size.height)
// Add your custom view in the space below
customView.frame = CGRect(x: 0,
y: tabBar.frame.maxY,
width: view.frame.width,
height: desiredSpaceHeight)
}
“`
Best Practices for iOS 26
1. 1.
Embrace the new design language – The Liquid Glass effect is a core part of iOS 26’s identity
2. 2.
Let content flow under the tab bar – This is the intended design in iOS 26
3. 3.
Use minimization behavior – Tab bars can minimize when scrolling for a better content experience
4. 4.
Apply glass effects consistently – If adding custom elements, use .glassEffect() to maintain visual harmony