我有一个带标签的TabView,我不知道为什么这根本没有记录下来,我在stackoverflow的另一个问题上发现以下代码行只在iOS 15.0上工作:
if (selectedTab == 2) {
Label("Playlist", systemImage: "star.fill")
} else {
Label("Playlist", systemImage: "star")
.environment(\.symbolVariants, .none)
}
当我的项目最低版本为15.0时,这可以正常工作,但是,下面的任何内容都会标记以下错误:Key path value type 'WritableKeyPath<EnvironmentValues, SymbolVariants>' cannot be converted to contextual type 'KeyPath<EnvironmentValues, SymbolVariants>
我认为大多数项目应该支持iOS 15.0以下的版本(我不确定这一点,因为我是这个领域的新手),那么我如何使早期版本在TabView中显示未填充的图标(大纲/默认/无)?
1条答案
按热度按时间2lpgd9681#
据我所知,这是预期的行为,并记录在案。
检查这里的documentation.根据它
SymbolVariants
只在iOS 15 +
版本可用.所以你的代码将只工作项目有15.0作为最低版本,它会给予上述错误时,使用较低版本.你可以做的是检查版本并添加单独的代码,如下所示。