我认为我想显示为全屏覆盖,在呈现它后我注意到一个小问题,即当动态类型更改时它不会调整字体大小。有没有好的方法可以解决这个问题?
这是我的代码
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()
}
这是一个带有 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()
}
}
}