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

Fli*_*orp 5 xcode icons ios tabview sf-symbols

如何将 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")
                }
...

Run Code Online (Sandbox Code Playgroud)

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

那么我怎样才能像以前一样得到我的图标(SF符号)的轮廓呢?

谢谢

小智 16

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

\n

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

\n
\n

将此变体与 symbolVariant( :) 修饰符一起使用\xe2\x80\x99不会产生\n任何效果。相反,要显示忽略当前变体的符号,请使用环境 ( :_:) 修饰符直接将 symbolVariants 环境值设置为 none:

\n
\n
import SwiftUI\n\nstruct ContentView: View {\n    var body: some View {\n        TabView {\n            Text("content")\n                .tabItem {\n                    Label("tab", systemImage: "creditcard")\n                }\n            \n            Text("content")\n                .tabItem {\n                    Label("tab", systemImage: "creditcard")\n                        .environment(\\.symbolVariants, .none) // here\n                }\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

结果:

\n

结果

\n