如何更改选定的TabItem背景颜色? SwiftUI

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

我遇到了一个奇怪的差异,Xcode 上的预览显示了我想要的视图,但是当我将其部署到 iPhone 14 pro (iOS 17) 时,所选选项卡项目的整个背景都会突出显示。是什么导致预览版和部署版之间存在差异?同样,如何删除部署视图中的背景颜色,使其看起来像预览?

预览,正确视图:

突出显示背景的部署版本

代码:(使用Assets中的AccentColor作为颜色)

import SwiftUI

struct PEView: View {
    var body: some View {
        TabView {
           DiaryView()
                .tabItem { Image(systemName: "list.clipboard" ) }
           SearchView()
                .tabItem { Image(systemName: "magnifyingglass" ) }
           SettingsView()
                .tabItem { Image(systemName: "gearshape" ) }
        }
    }
}

#Preview {
    PEView()
}
swift xcode swiftui tabitem ios17
1个回答
0
投票

尝试使用

.toolbarBackground(.hidden, for: .tabBar)
修饰符。

struct PEView: View {
    var body: some View {
        TabView {
            DiaryView()
                .tabItem { Image(systemName: "list.clipboard" ) }
            SearchView()
                .tabItem { Image(systemName: "magnifyingglass" ) }
            SettingsView()
                .tabItem { Image(systemName: "gearshape" ) }
        }
        .toolbarBackground(.hidden, for: .tabBar)
    }
}

这可能是 iOS 17 独有的问题,因为我无法在 iOS 16 上重现它。在这种情况下,您也可以尝试创建自己的自定义底部选项卡栏。

© www.soinside.com 2019 - 2024. All rights reserved.