Wrong SF symbol displayed

Hi there!

After a few months off, I'm starting a new app.

I'm making a TabView like this:

import SwiftUI

struct ContentView: View {
    @State private var tab: Tab = .adventures

    var body: some View {
        TabView(selection: $tab) {            
            Text("Explore")
                .tag(Tab.explore)
                .tabItem {
                    Label("Explore", systemImage: "airplane.circle")
                }

            Text("Profile")
                .tag(Tab.profile)
                .tabItem {
                    Label("Profile", systemImage: "person")
                }
        }
    }

    enum Tab {
        case explore, profile
    }
}

As you noticed, I want airplane.circle and person SF Symbols on the TabView but SwiftUI is showing airplane.circle.fill and person.fill in the preview canvas and also when I run the app in the simulator.

Why it is forcing me to show those icons?

Xcode version: 13.4.1
SF Symbols version: 3.3
iOS deployment target: 15.0

Thank you.

This may not be quite what it seems.

If we just have...

var body: some View {
    Label("Explore", systemImage: "airplane.circle")
}

...then the correct image is shown.

I suspect the filled-circle effect you are seeing, is a by-product of using the image in a TabBar.
That is, the image is correct, but it is displayed in a way that you did not expect.

Add .environment(\.symbolVariants, .none) in a tabbar to get the non-filled symbol, otherwise SwiftUI automatically chooses the filled symbol in a TabView

Wrong SF symbol displayed
 
 
Q