我遇到了一个奇怪的差异,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()
}
尝试使用
.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 上重现它。在这种情况下,您也可以尝试创建自己的自定义底部选项卡栏。