web-dev-qa-db-ja.com

SwiftUIでビューを全画面表示する方法は?

ログインviewに取り組みましたが、ログイン後にviewを提示したいのですが、ログインviewに戻る可能性をユーザーに持たせたくありません。 UIkitではpresent()を使用しましたが、SwiftUIpresentation(_ modal: Modal?)ではviewが画面全体に表示されないようです。 Navigationもオプションではありません。

ありがとうございました!

7
Sorin Lica

私はこの拡張機能を自分で作成しました。フィードバックやアイデアは大歓迎です。 :)

https://github.com/klemenkosir/SwiftUI-FullModal

使用法

struct ContentView: View {

    @State var isPresented: Bool = false

    var body: some View {
        NavigationView {
            Button(action: {
                self.isPresented.toggle()
            }) {
                Text("Present")
            }
            .navigationBarTitle("Some title")
        }
        .present($isPresented, view: ModalView(isPresented: $isPresented))
    }
}

struct ModalView: View {

    @Binding var isPresented: Bool

    var body: some View {
        Button(action: {
            self.isPresented.toggle()
        }) {
            Text("Dismiss")
        }
    }
}
0
Klemen Košir