2

如何在 iOS 15 Xcode 13 中将填充图标更改为未填充 TabView tabItem?

现在看来,默认情况下会填充图标...

我的代码:

import SwiftUI

struct Test_Home_V: View {
    var body: some View {
        TabView {
            HomeList_V()
                .tabItem {
                    Label("_HomeTitle", systemImage: "house")
                }
...

注意:从 iOS 15 开始,您不应明确请求 SF Symbols 图标的填充变体,因为系统会根据需要自动使用它们。

那么我怎样才能像以前一样获得我的图标(SF Symbols)?

谢谢

4

1 回答 1

3

为了解决这个问题,我们可以使用environment(\.symbolVariants, .none).

https://developer.apple.com/documentation/swiftui/symbolvariants/none

将此变体与 symbolVariant( :) 修饰符一起使用没有任何效果。相反,要显示忽略当前变体的符号,请使用 environment( :_:) 修饰符直接将 symbolVariants 环境值设置为 none:

import SwiftUI

struct ContentView: View {
    var body: some View {
        TabView {
            Text("content")
                .tabItem {
                    Label("tab", systemImage: "creditcard")
                }
            
            Text("content")
                .tabItem {
                    Label("tab", systemImage: "creditcard")
                        .environment(\.symbolVariants, .none) // here
                }
        }
    }
}

结果:

结果

于 2021-10-02T06:19:26.230 回答