如何在 SwiftUI 中更改工作表视图的大小?

问题描述 投票:0回答:1

在我的 ContentView 中,我有一个按钮可以触发“AddNewFolderView”工作表,它只是一个带有几个按钮的文本字段。但是,视图比需要的大得多,我似乎不知道如何更改大小。

内容视图:

.sheet(isPresented: $showingAddFolderView) {
                    AddNewFolderView().environment(\.managedObjectContext, self.viewContext)
                }

添加新文件夹视图:

var body: some View {
        NavigationView {
            Form {
                Section(header: Text("Folder Name")) { // Section for user to input folder name
                    TextField("Enter folder name", text: $folderName)
                }
            }
            .navigationBarTitle("New Folder", displayMode: .inline)
            .navigationBarItems(leading: Button("Cancel") {
                presentationMode.wrappedValue.dismiss()
            }, trailing: Button("Save") {
                addFolder()
            })
        }
    }

最终看起来像这样:

我尝试过presentationDetents(),但它什么也没做。以及各个位置的 .frame() ,它们总是看起来像这样:

有什么建议吗?

swift swiftui
1个回答
0
投票

如果在正在演示的视图上设置带有

maxWidth
maxHeight
的框架,然后将
.clear
设置为演示背景,则可以将图纸区域缩小到较小的尺寸:

.sheet(isPresented: $showingAddFolderView) {
    AddNewFolderView().environment(\.managedObjectContext, self.viewContext)
        .frame(maxWidth: 300, maxHeight: 150)
        .presentationBackground(.clear)
}

但是,您仍然会看到常规纸张尺寸的阴影效果。这在横向方向上比纵向方向上更明显:

Screenshot

© www.soinside.com 2019 - 2024. All rights reserved.