I’m attempting to customise my navigation title and subtitle in iOS 26. However it looks like setting largeSubtitleTextAttributes on UINavigationBarAppearance would not appear to do something.
So for a view with one thing like this:
NavigationStack {
// content material
.navigationTitle("Title")
.navigationSubtitle("Subtitle")
}
I’m setting the looks:
let look = UINavigationBarAppearance()
// Massive title
look.largeTitleTextAttributes = [.foregroundColor: UIColor.green]
look.largeSubtitleTextAttributes = [.foregroundColor: UIColor.yellow]
// Inline title
look.titleTextAttributes = [.foregroundColor: UIColor.blue]
look.subtitleTextAttributes = [.foregroundColor: UIColor.red]
let navAppearance = UINavigationBar.look()
navAppearance.standardAppearance = look
| Massive | Inline |
|---|---|
![]() |
![]() |
Right here we will see that after we scroll, the title shrinks to the inline type, and the colour adjustments from inexperienced to blue. However the subtitle is pink your complete time. If I take away the subtitleTextAttributes, then the subtitle is the default coloration in each circumstances.
Is this can be a bug with UINavigationBarAppearance Or am I doing one thing flawed? I’ve tried with each a SwiftUI view in a NavigationStack and a UIKit view in a UINavigationController, and the habits is identical.
I’ve been capable of get this to work with UIKit utilizing navigationItem.attributedSubtitle and navigationItem.largeAttributedSubtitle, and it switches between each appropriately. However clearly I can not do the identical in SwiftUI.


