相关疑难解决方法(0)

如何使 NavigationView 背景透明 SwiftUI

我已经搜索过,但找不到有效的解决方案。

我有这个超级简单的代码。当我添加导航视图时,背景颜色消失。

我想如果我能让 NavigationView 的背景颜色透明,就可以解决这个问题。

struct TestView: View {
    
    var body: some View {
        
        VStack {
            Spacer()
            NavigationView {
                Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
            }

                
            
            
            Spacer()
        }
        .background(Color(red: 128 / 255, green: 27 / 255, blue: 44 / 255))
        .ignoresSafeArea(.all)
        
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

xcode swiftui

5
推荐指数
1
解决办法
3581
查看次数

在 SwiftUI 中使用 NavigationStack 背后的自定义背景

这应该很简单,但我不知道如何在 NavigationStack 后面放置背景。对于 NavigationView,只需嵌入 ZStack 中,并在 NavigationView 之前调用背景视图即可(如旧文章中所述:如果在 SwiftUI 中使用 NavigationView,如何更改背景颜色?)相同的技术对我来说不适用于 NavigationStack 。这是我所拥有的:

   struct MyAngularGradient: View {
    var body: some View {
        ZStack {
            AngularGradient(gradient: Gradient(colors: [.red, .orange , .yellow, .green, .cyan, .blue, .indigo, .purple, .red]), center: .leading)
            AngularGradient(gradient: Gradient(colors: [.red, .orange , .yellow, .green, .cyan, .blue, .indigo, .purple, .red]), center: .leading)
                .offset(x: -8)
        }
        .ignoresSafeArea()
    }
}

var body: some View {
            ZStack{
                MyAngularGradient()
                NavigationStack {
                  ...
                }
                 .navigationViewStyle(.stack)
             } // end ZStack
Run Code Online (Sandbox Code Playgroud)

仅供参考,我在其他应用程序(带有 NavigationView)中使用了相同的 MyAngularGradient() 有什么想法吗?谢谢。

swiftui swiftui-navigationstack

4
推荐指数
1
解决办法
2845
查看次数

如何在 SwiftUI 中设置 NavigationView 背景颜色

我正在尝试设置NavigationView. 我正在尝试ZStack使用下面的代码添加一个(部分来自 SwiftUI 教程)。然而它永远是白色的,除非我NavigationView...Spacer()

    var body: some View {
    ZStack
        {
            NavigationView {
                List {
                    Toggle(isOn: $userData.showFavoritesOnly) {
                        Text("Favourites")
                    }
                    ForEach(userData.landmarks) { landmark in
                        if !self.userData.showFavoritesOnly || landmark.isFavorite {
                            NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
                                LandmarkRow(landmark: landmark)
                            }
                        }
                    }
                }

                .navigationBarTitle(Text("Landmarks"), displayMode: .large)
            }

    }.background(Color.blue.edgesIgnoringSafeArea(.all))
}
Run Code Online (Sandbox Code Playgroud)

我可以设置单个列表项的颜色,但我希望整个背景显示为蓝色

xcode ios swift swiftui

3
推荐指数
1
解决办法
4858
查看次数

标签 统计

swiftui ×3

xcode ×2

ios ×1

swift ×1

swiftui-navigationstack ×1