首页 > 解决方案 > 在 SwiftUI 中调整大小或“沉入”导航栏效果

问题描述

我有以下代码:

ZStack {
        
    VStack {
        
        NavigationView {
        
            VStack() {
                
                Spacer()

                image?
                    .resizable()
                    .clipShape(Circle())
                    .aspectRatio(contentMode: .fill)
                    .frame(width: 160, height: 160)
                    .overlay(Circle().stroke(Color.white, lineWidth: 4)) 
                    .overlay(
                        CameraButtonView(showActionSheet: $showActionSheet)
                            .offset(x: 50, y: 65)
                    )
                    .shadow(radius: 10)
                
                Form {

                    ....

                }

            }
            
        }
        .environment(\.horizontalSizeClass, .compact)
        
    }

}

从本质上讲,上面部分是带有相机按钮的图像,因此用户可以从相机胶卷中选择或拍照,这将由图像显示,其余部分是用户可以使用的形式相应地填写表格。

当用户开始滚动表单时,我一直在尝试做的是使视图的顶部(图像部分)向上滚动,或者如果可能滚动/下沉到导航栏(几乎就像在 iphone 联系人应用程序中一样)视图的一部分。

目前,表单部分在图像部分下方滚动,您可以想象它占据了视图的很大一部分,因此隐藏顶部图像部分可以更轻松地填写表单的其余部分。

有没有人能够在 SwiftUI 中这样做?

标签: iosswiftui

解决方案


推荐阅读