read
There is a new modifier in SwiftUI 2.0, announced in WWDC 2020, for iOS 14 (beta). But the API is actually back dated to iOS 13.
fullScreenCover
It works similarly to sheet
, but full screen.
struct PresentFullScreen: View {
@State var isPresentedFullScreen = false
var body: some View {
Button("Present Full Screen") {
isPresentedFullScreen.toggle()
}
.fullScreenCover(isPresented: $isPresentedFullScreen) {
Text("New Screen Presented")
Button("Dismiss") {
isPresentedFullScreen.toggle()
}
}
}
}
Passing an Item
You could also pass an optional Item binding. Then when it is non-nil, the view will be displayed.
So if you have an item such as @State var book = Book()
, you can pass that into fullScreenCover(item:)
, then you can use it in the presented view.
.fullScreenCover(item: $book) {
BookView(book: $0)
}