1. ホーム
  2. ios

[解決済み] iOS SwiftUI: プログラムによるビューのポップアップとディスクローズ

2022-10-26 13:14:38

質問

を作成する方法についての参考文献を見つけることができませんでした。 ポップ とか ディス プログラム的に というのは、SwiftUIで私の提示したビューの

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

どなたか解決策をご存知ですか? これはバグなのか、このままなのか、ご存知ですか?

どのように解決するのですか?

この例では、ベータ 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()
        }
    }
}