簡體   English   中英

工作表模態在 SwiftUI 中不顯示整個視圖

[英]Sheet Modal does not present whole View in SwiftUI

我對 SwiftUI 編程很陌生,遇到了以下我找不到答案的問題。

我想從我的主視圖中打開一個工作表模式,並希望在其上顯示一個帶有 Rect 的簡單視圖(用於測試目的)。

 .sheet(isPresented: $api.showDrawing) {
      
      DrawingViewView()
 }

我的 DrawingViewView 看起來像:

    struct DrawingViewView: View {
      var body: some View {
        Rectangle()
          .fill(Color.red)
          .frame(width: 1500, height: 1000)
       }
     }

無論我將 Rect 做得多大,它都不會顯示大於:

在此處輸入圖像描述

有沒有辦法讓紙張的寬度變大?

編輯:我也想過使用 fullScreenCover,但如果我在 fullScreenCover 中打開 PKCanvasView,pencilKit 會表現得很奇怪。 我畫的線與pencilInput不對應

編輯:顯然問題是水平方向。 如果我將 iPad 垂直轉動,我完全沒有問題!

非常感謝!

雅各布

我認為這是最簡單的方法。

import SwiftUI

struct FullScreenModalView: View {
    @Environment(\.presentationMode) var presentationMode

    var body: some View {
        ZStack {
            Color.red.edgesIgnoringSafeArea(.all)
            Button("Dismiss Modal") {
                presentationMode.wrappedValue.dismiss()
            }
        }
    }
}

struct ContentView: View {
    @State private var isPresented = false

    var body: some View {
        Button("Present!") {
            isPresented.toggle()
        }
        .fullScreenCover(isPresented: $isPresented, content: FullScreenModalView.init)
    }
}

struct ex_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

希望就是你所期待的!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM