tabBar.barTintColor
在 iOS 15 beta 4 中无法更改。
背景。我们在 App Store 中有一个应用程序,每年在新的 iOS 主要版本发布之前,我们都会下载 iOS 测试版并测试我们的应用程序以提前解决问题。
我们的问题。今年,在 iOS 15 beta 4 中进行测试时,我们发现 UITabBarController 的 tabBar 背景颜色变成黑色,导致项目(图标和标题)难以阅读。在我们的代码中,我们有 self.tabBar.barTintColor = .white,这行代码在 iOS 15 中不起作用。
我们的尝试。我在网上搜索并发现了一个类似但不完全相同的问题报告,https://developer.apple.com/forums/thread/682420。我尝试过standardAppearance
,但这不是解决方案,因为appearance
我无法更改tabBar.tintColor
。
由于我升级了 iPad 操作系统,我的应用程序的 UITabBar 标题显示被截断,如屏幕截图所示。
我尝试了一些方法,但没有找到正确的解决方案。
希望可以有人帮帮我。
这是代码:
func setupTabBar() {
if #available(iOS 13, *) {
let appearance = tabBar.standardAppearance
appearance.configureWithOpaqueBackground()
appearance.backgroundImage = UIImage(color: .white)
appearance.shadowImage = UIImage(color: .clear)
let normalAttrs: [NSAttributedString.Key: Any] = [.foregroundColor: ThemeColor.gray]
let selectedAttrs: [NSAttributedString.Key: Any] = [.foregroundColor: ThemeColor.red]
appearance.stackedLayoutAppearance.selected.titleTextAttributes = selectedAttrs
appearance.stackedLayoutAppearance.normal.titleTextAttributes = normalAttrs
appearance.inlineLayoutAppearance.selected.titleTextAttributes = selectedAttrs
appearance.inlineLayoutAppearance.normal.titleTextAttributes = normalAttrs
appearance.compactInlineLayoutAppearance.selected.titleTextAttributes = selectedAttrs
appearance.compactInlineLayoutAppearance.normal.titleTextAttributes = normalAttrs
UITabBar.appearance().standardAppearance = appearance
} else {
tabBar.backgroundImage = UIImage(color: .white)
tabBar.shadowImage = UIImage(color: .clear)
}
if #available(iOS 15, *) …
Run Code Online (Sandbox Code Playgroud) 在iOS 13模拟器上使用Xcode 11,beta 2运行UITabBarItems的颜色时,我遇到了问题。但是,当我通过Interface Builder指定自定义的条形颜色时,会得到以下信息:
如果我将Interface Builder中的“ Bar Tint”属性设置为除clear以外的任何选项,则选项卡栏中的所有项目图标均具有选定的颜色。设置为清除时,图标将正确着色。如果我在iOS 12模拟器中编译并运行,这些图标的颜色也会正确显示。
这似乎是Xcode 11中的错误,但也许我遗漏了一些东西?
interface-builder uitabbarcontroller uitabbaritem ios xcode11