Today, we've updated Linear Mobile with an all-new design that looks great on iOS 26, and thanks to the powerful APIs #SwiftUI has been adding over the past few years, we're bringing it to iOS 18 with zero compromise.

Get the update here: https://apps.apple.com/app/linear-mobile/id1645587184

For our new navigation pattern, we're not using TabView or NavigationStack – instead, a UINavigationController wrapped in UIViewControllerRepresentable manages all view presentation. When you switch tabs, we replace its viewControllers array using a custom crossfade transition.
For the iconic split bars and floating buttons that iOS 26 introduced, we're combining #UIKit's UIVisualEffectView and multiple #SwiftUI shaders to build an understated material that matches the physicality of Liquid Glass.
Of course, we're not compromising on accessibility. Our material respects Increase Contrast, Reduce Motion, and Reduce Transparency just like the system material does – as well as Display Borders starting in iOS 26.1.
Building custom UI in the new aesthetic with a great team was a lot of fun – thanks @gavinmnelson, @joshpyles, Alessandro, and Bryan <3
@dlx 🤯 Wowzers, that is wild and genius. Congrats on shipping that project sounds amazing.
@dlx congrats!! literally downloaded Linear for the first time yesterday and loved the UI, excited to try this out!
@dlx looks fantastic! Curious as to why you chose to use a UINavigationController over a UITabBarController? Also, would love an overview of the shaders used. I was under the impression that SwiftUI’s shaders only work with “pure” SwiftUI views. My assumption is the UIVisualEffectView wrapped in a UIViewRepresentable would not be exempt from this limitation? Or are the shaders applied elsewhere? Thanks for sharing!
@sebjvidal mostly simplicity – UITabBarController didn't give us anything here other than having to customize yet another thing across iOS versions. The shaders are straightforward: one for the mask, the other is an overlay so we can compose with the UIVisualEffectView and avoid the Yellow Verboten Sign of Death.
@dlx this is very cool! Loving the UI and the decision to not conform to the TabController.
@dlx this is what Liquid Glass should be, out of the box. Beautiful!!