UITabBarAppearance with iOS27 Beta

iOS Version: iOS 27 Beta Xcode: Xcode27 Beta 2

I have a custom UITabBar subclass. The tab bar items are visible and selectable, and the selected state works, but the title color in the normal state is always rendered as white, even though I set a different normal title color. Simplified code

let normalColor = UIColor.gray
let selectedColor = UIColor.orange
let bgColor = UIColor.black
let font = UIFont.systemFont(ofSize: 10, weight: .semibold)

let appearance = UITabBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundEffect = nil
appearance.backgroundColor = bgColor
appearance.shadowColor = .clear

let itemAppearance = appearance.stackedLayoutAppearance
itemAppearance.normal.titleTextAttributes = [
    .font: font,
    .foregroundColor: normalColor
]
itemAppearance.selected.titleTextAttributes = [
    .font: font,
    .foregroundColor: selectedColor
]
itemAppearance.normal.iconColor = normalColor
itemAppearance.selected.iconColor = selectedColor

appearance.stackedLayoutAppearance = itemAppearance
appearance.inlineLayoutAppearance = itemAppearance
appearance.compactInlineLayoutAppearance = itemAppearance

tabBar.standardAppearance = appearance
if #available(iOS 15.0, *) {
    tabBar.scrollEdgeAppearance = appearance
}

tabBar.backgroundColor = bgColor
tabBar.isTranslucent = false

The problem:

  • The selected title/icon color works.
  • The normal title color is ignored and stays white.

This happens after moving to the newer tab bar appearance behavior / Liquid Glass environment. Question: Is there any additional configuration required for UITabBarAppearance so that the normal UITabBarItem title color is respected? Could unselectedItemTintColor, tintColor, scrollEdgeAppearance, or Liquid Glass behavior override normal.titleTextAttributes?

Hello @SmallBean,

I see what you are describing, I haven't found a workaround that changes both the unselected icon and label text either.

Are you able to share a sample project that we can run on iOS 27 and a previous release to see the difference?

I would like to share this report with the relevant engineering team. Please file a report using Feedback Assistant and include your sample project there as well as steps to reproduce the issue and the affected platform versions used in your testing.

Once you've completed this report, reply with the feedback number and I'll make sure it is routed correctly to that team.

Thank you.

 Travis

I have filed this issue in Feedback Assistant and attached the sample project.

Feedback ID: FB23525548 (UITabBarAppearance in iOS 27 Beta)

Thank you for helping route this to the relevant engineering team.

Thank you for filing!

Updates will be provided to you through Feedback Assistant. There, you can track if the report is still being investigated, has a potential identified fix, or has been resolved in another way.

For more details on Feedback Status, please see “Understanding the Status of Your Feedback” linked here: https://developer.apple.com/bug-reporting/status

 Travis

Hi Travis,

I’m following up on FB23525548. I have not received any further investigation results or guidance through Feedback Assistant, and the issue still occurs in my recent tests.

I ran additional comparisons in the sample project:

  • A standalone UITabBar with the original opaque background configuration.

  • A standalone UITabBar with default background settings.

  • A UITabBarController with default background settings.

In all three configurations, the requested red color for unselected titles was not rendered.

I then tested userInterfaceStyle explicitly:

  • .dark: unselected titles are white.

  • .light: unselected titles are black.

  • .unspecified: unselected titles are also black on my device when inheriting a light appearance.

Even after explicitly setting the tab bar controller’s overrideUserInterfaceStyle to .dark, setting normal.titleTextAttributes[.foregroundColor] to UIColor.red still leaves the unselected title white.

I also noticed that the Apple TV and Apple Games apps keep white unselected tab labels when I change the device’s appearance setting. I do not know how those apps configure their tab bars, so I am treating this only as an observation, not as evidence of a particular implementation.

Could you please clarify whether it is expected for Liquid Glass tab bars in iOS 27 to ignore an explicitly configured foreground color for unselected titles, or whether normal.titleTextAttributes[.foregroundColor] should still be respected?

If this is expected behavior, is there a supported public API for customizing the unselected title color, or should apps leave it to the system’s monochrome appearance? If it is not expected, is there a known workaround or any update on FB23525548?

Thank you for your help.

UITabBarAppearance with iOS27 Beta
 
 
Q