Swift 如何阻止标签栏更改背景颜色

问题描述 投票:0回答:2

我正在开发一个需要选项卡栏的项目。目前,我已经设置了代码,以便在登录或注册后我会看到“探索”选项卡(第三个选项卡)。我试图实现的目标是让我的项目仅显示半透明的选项卡栏背景。当我最初从事我的项目时,我这样做没有任何问题。在合并了允许滚动的表格视图后,我遇到了这个问题。目前,当我按下选项卡 1-4 时,我会得到半透明的背景。当按下选项卡 5(包括带滚动的表格视图)时,选项卡栏的背景将变为灰色。即使我将选项卡按到另一个选项卡,灰色选项卡栏的背景颜色也不会改变。我发现在选择第五个选项卡后消除背景颜色的唯一方法是一直向下滚动。向下滚动后,它允许用户再次看到半透明背景。然后您可以选择不同的选项卡栏,您将再次看到半透明的背景。如何只显示半透明颜色

ios swift xcode tabbar
2个回答
3
投票

您需要将条形色调颜色设置为默认。 ScreenShot


0
投票

这是 iOS 15 及更高版本的新默认行为。通过在您的

UITabBarController
:

中执行此操作来恢复以前的样式
// prevent views from appearing behind navigation and tab bar
if #available(iOS 13.0, *) {
    let tabBarAppearance: UITabBarAppearance = UITabBarAppearance()
    tabBarAppearance.configureWithDefaultBackground()
    
    let navAppearance = UINavigationBarAppearance()
    navAppearance.configureWithOpaqueBackground()
    if #available(iOS 15.0, *) {
        UITabBar.appearance().scrollEdgeAppearance = tabBarAppearance
        UINavigationBar.appearance().scrollEdgeAppearance = navAppearance
    }
}

基于https://forums.developer.apple.com/forums/thread/682432

的线索
© www.soinside.com 2019 - 2024. All rights reserved.