swift 背景不会覆盖整个页面

ifsvaxew  于 2023-02-03  发布在  Swift
关注(0)|答案(2)|浏览(119)
ScrollView {
        ZStack{
            NavigationView(){
                List {...}
                .toolbar {...}                    }
                .sheet(isPresented: $showingProfile) {...}
                .sheet(isPresented: $showingVoortgang) {...} 
            }
        }
    }
    .background(Image("Background3")
        .resizable()
        .ignoresSafeArea()
        .opacity(1))

//我在ScrollView的Stack中有NavigationView。我将ScrollView的背景设置为图片,但它不会呈现整个页面,仅呈现背面页面的背景,而不会呈现NavigationView

gcxthw6b

gcxthw6b1#

如果我理解正确的话,您的问题是NavigationView中的内容没有应用于滚动视图的背景图像。
一种方法是在NavigationView上使用blendMode(),尝试使用.darken.overlay.plusDarker或其他模式,看看您更喜欢哪种模式。
代码中的示例:

ScrollView {
    ZStack{
        NavigationView(){
            List {...}
            .toolbar {...}                    }
            .sheet(isPresented: $showingProfile) {...}
            .sheet(isPresented: $showingVoortgang) {...} 
        }
        .blendMode(.plusDarker) // <--
    }
}
.background(Image("Background3")
    .resizable()
    .ignoresSafeArea()
    .opacity(1))
42fyovps

42fyovps2#

试试这个:

ScrollView {
    ZStack{
        NavigationView(){
            List {...}
            .toolbar {...}                    }
            .sheet(isPresented: $showingProfile) {...}
            .sheet(isPresented: $showingVoortgang) {...} 
        }
    }
    .background(Image("Background3")
    .resizable()
    .edgesIgnoringSafeArea(.all)
}

相关问题