首页 > 解决方案 > SwiftUI:是否可以在每个视图都不可滚动的情况下对这些视图进行分层?

问题描述

我正在展示一张表格,该表格将在表格中的一个部分内显示一个滑块。我也试图将我的子视图添加AddDoujin到这个视图中。但问题是,这两个视图都是可滚动的,并且没有相互叠加,并且似乎被添加到底部(如果这有意义的话)。我的目标是使AddDoujin视图位于滑块下方,而不是每个视图都成为自己的视图并且都可以滚动。抱歉,如果这不清楚并且您需要更多信息。

import SwiftUI

struct TestingAddDoujin: View {
//Varaibles
    @State private var InputDoujin:String = ""
    var DoujinApi:DoujinAPI
    @Binding var isPresented:Bool
    @State private var RedoEntry:Bool = false
    var PickerOptions = ["Doujin", "Hentai"]
    @State var PickerSelected = ""
    @State var CurrentSelectionForPicker = 0    
    
    var body: some View {
        GeometryReader { geo in
            NavigationView{
                VStack {
                    ZStack{
                        Form{
                            Section(header: Text("What you you looking for?")) {
                                Picker(selection: $CurrentSelectionForPicker, label: Text("Please select one")) {
                                    ForEach(0..<PickerOptions.count) {
                                        Text("\(self.PickerOptions[$0])")
                                    }
                                }
                                .pickerStyle(SegmentedPickerStyle())
                                
                            }
                            
                        }
                        
                    }
                    AddDoujin(DoujinApi: DoujinApi, isPresented: $isPresented)
                    
                }
                
            }
        }
    }
}

struct TestingAddDoujin_Previews: PreviewProvider {
    static var previews: some View {
        TestingAddDoujin(DoujinApi: DoujinAPI(), isPresented: .constant(false))
    }
}

Screenshot of device which is vertically split in half

标签: iosswiftswiftui

解决方案


看起来如果你只是在AddDoujin(DoujinApi: DoujinApi, isPresented: $isPresented)下面移动.pickerStyle(SegmentedPickerStyle())你会得到想要的结果。

我猜你已经尝试过了。因此,也许可以向我们展示并告诉我们更多关于您要完成的工作。

顺便提一句。在 Swift 中,不习惯将变量的首字母大写。


推荐阅读