Transparent Tab Bar Item View swiftUI

Viewed 39

I have a tab bar with 2 TabItems, What I want is to have one of the tab item's view beeing transparant.

    ZStack {
        Color.clean
        TabView {
            if #available(iOS 15.0, *) {
                HomeView()
                    .tabItem {
                        Label("Home", systemImage: "person.crop.circle")
                    }
            } else {
                // Fallback on earlier versions
            }
            PatientView()
                .tabItem {
                    Label("Patient", systemImage: "heart.text.square.fill")
                }
        }
}

I have tried to add an EmptyView() but i didn't get the desired result. HomeView should be transparent but also having 2 buttons displayed.

struct HomeView: View {

var body: some View {
    if showLoadingSpinner {
        ZStack {
            
                Color.backgroundColor.edgesIgnoringSafeArea(.all)
                ProgressView("Loading Avatar")
                    .progressViewStyle(CircularProgressViewStyle(tint: Color.brandPrimary))
        }
        .onAppear{
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
                showLoadingSpinner = false
                
            }
        }
    }
   
    else {
        GeometryReader { geometry in
            ZStack {
                VStack {
                    CreateZipMetadataView()
                }
                .frame(maxHeight: .infinity, alignment: .top)
                .padding(.leading, UIScreen.screenWidth/2 - (geometry.size.width/7)/2)
                
                
                EmptyView()
                    .frame(maxHeight: .infinity)
                ZStack {
                    Circle()
                        .foregroundColor(.white)
                        .frame(width: geometry.size.width/7, height: geometry.size.width/7)
                        
                .padding(.leading, UIScreen.screenWidth/2 - (geometry.size.width/7)/2)
                .frame(maxHeight: .infinity, alignment: .bottom)
                
    }
}

}

0 Answers
Related