当我通过NavigationLink导航到另一个包含滚动视图的视图时,我得到了一些我想要删除的行为.

当您滚动时,视图的顶部将用不同的 colored颜色 填充,并使其后面的一切变得模糊.

我如何消除这种影响?以下是显示效果的代码和一些照片:

struct Home: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: DetailView()) {
                Text("Go to detail view")
            }
        }
    }
}

struct DetailView: View {
    var body: some View {
        
        VStack {
            ScrollView(.vertical, showsIndicators: false) {
                Circle()
                    .fill(.red)
                
                Circle()
                    .fill(.blue)
                
                Circle()
                    .fill(.yellow)
                
                Circle()
                    .fill(.green)
            }
        }
    }
}

Click for image

我希望能够用一些修饰符来删除它,但似乎找不到正确的一个,如果这就是事实上的解决方案

推荐答案

在iOS 16中,您可以使用此修饰符隐藏Destination上的导航栏:

.toolbarBackground(.visible, for: .navigationBar)

Hidden

并使其具有如下所示的定制 colored颜色 :

.toolbarBackground(.red, for: .navigationBar)

Colored

以下是完整的代码:

struct Home: View {
    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: DetailView().toolbarBackground(.hidden, for: .navigationBar)) {
                    Text("Go to detail view (hidden navigation)")
                }
                NavigationLink(destination: DetailView().toolbarBackground(.orange, for: .navigationBar)) {
                    Text("Go to detail view (orange navigation)")
                }
            }
        }
    }
}

struct DetailView: View {
    var body: some View {
        VStack {
            ScrollView(.vertical, showsIndicators: false) {
                Circle().fill(.red)
                Circle().fill(.blue)
                Circle().fill(.yellow)
                Circle().fill(.green)
            }
        }
    }
}

Ios相关问答推荐

什么是最好的方式使用DateFormatters在可扩展视图cellForRowAt方法

在SWIFT中将圆角+透明背景从导入视频(.mp4)添加到导出视频(.mov)

以编程方式更改VC&39;S导航栏按钮的属性,以响应另一个VC中的按钮按下

用于HDR显示的CI上下文选项

NSHashTable要求任何MyCustomProtocolAnyObject都是类类型

在flatter_riverpod中,如果没有ref对象,我们如何访问提供程序?

如何在Swift/Combine中从timer.publish属性传递两个参数到任意方法

如何更改 SwiftUI 弹出视图的大小?

为什么这个 init 被分派到一个内部扩展 init?

RealityKit – ARView 光线投射返回 0 个结果

.frame() 修饰符的位置如何影响视图?

我正在try 制作一种 Select 器样式,例如设置中的外观 Select 器

AppCenter 错误:/usr/bin/xcodebuild 失败,返回码:65

swiftUI中的剪辑形状无法使用旋转效果

Apple Push Service 证书不受信任

快速禁用 UITextfield 的用户输入

使用 convertPoint 获取父 UIView 内的相对位置

如何使用完成按钮制作 UIPickerView?

UICollectionView:必须用非零布局参数初始化

如何为 UILabel 的背景 colored颜色 设置动画?