fullScreenCover 不尊重动态类型更改?

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

我认为我想显示为全屏覆盖,在呈现它后我注意到一个小问题,即当动态类型更改时它不会调整字体大小。有没有好的方法可以解决这个问题?

Screen recording of changing the dynamic type

这是我的代码

import SwiftUI

struct FullScreenModal: View {
    @State var showModal: Bool = false
    var body: some View {
        VStack {
            Text("Parent view")
            Button("Open Modal") {
                showModal = true
            }
        }
        
        .fullScreenCover(isPresented: $showModal, content: {
            Text("This is a full screen cover.")
        })
    }
}

#Preview {
    FullScreenModal()
}
ios swift swiftui
1个回答
0
投票

这是一个带有 DetailView 的示例,并且工作表中只有一个文本。使用 .environment(.sizeCategory, .accessibilityExtraExtraExtraLarge)

import SwiftUI
    
struct ContentView: View {
    @State var showModal: Bool = false

    var body: some View {
        VStack {
            Text("Parent view")
            Button("Open Modal") {
                showModal = true
            }
        }
        .fullScreenCover(isPresented: $showModal, content: {
//            DetailView()
            Text("Detail view")
                .environment(\.sizeCategory, .accessibilityExtraExtraExtraLarge)
        })
    }
}

#Preview {
    ContentView()
        .environment(\.sizeCategory, .accessibilityExtraExtraExtraLarge)
}

#Preview("Detail") {
    DetailView()
        .environment(\.sizeCategory, .accessibilityExtraExtraExtraLarge)
}

struct DetailView: View {
    @Environment(\.dismiss) var dismiss
    
    var body: some View {
        Text("This is a full screen cover.")
        Button("Close") {
            dismiss()
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.