プログラムでビューをポップアップまたは閉じる 質問する

プログラムでビューをポップアップまたは閉じる 質問する

作り方についての参考資料は見つかりませんでしたポップまたは却下する プログラム的にSwiftUI で提示したビューの。

唯一の方法は、モーダルにすでに統合されているスライドダウンアクションを使用し(この機能を無効にしたい場合はどうすればよいですか?)、ナビゲーションスタックに戻るボタンを使用することだと思われます。

誰か解決策を知っていますか? これはバグなのか、それともこのままなのか知っていますか?

ベストアンサー1

この例では、Beta 5 リリース ノートに記載されている、値プロパティを使用する新しい環境変数を使用しています。これは、後のベータ版で wrappedValue プロパティを使用するように変更されました。この例は現在、GM バージョンで最新のものです。これとまったく同じ概念が、.sheet 修飾子で表示されるモーダル ビューを閉じるときにも機能します。

import SwiftUI

struct DetailView: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var body: some View {
        Button(
            "Here is Detail View. Tap to go back.",
            action: { self.presentationMode.wrappedValue.dismiss() }
        )
    }
}

struct RootView: View {
    var body: some View {
        VStack {
            NavigationLink(destination: DetailView())
            { Text("I am Root. Tap for Detail View.") }
        }
    }
}

struct ContentView: View {
    var body: some View {
        NavigationView {
            RootView()
        }
    }
}

おすすめ記事