【问题标题】:How to change filled icon to not filled on TabView tabItem in iOS 15 Xcode 13?如何在 iOS 15 Xcode 13 中将填充图标更改为未填充 TabView tabItem?
【发布时间】:2021-11-18 00:10:40
【问题描述】:

如何在 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 符号)的轮廓?

谢谢

【问题讨论】:

    标签: ios xcode icons tabview sf-symbols


    【解决方案1】:

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

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

    将此变体与 symbolVariant(:) 修饰符一起使用没有 任何效果。相反,显示一个忽略当前的符号 变体,直接将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
                    }
            }
        }
    }
    

    结果:

    【讨论】:

    • 这正是我想要的!谢谢Konomae!
    猜你喜欢
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多