問題タブ [swiftui-environment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
49 参照

swift - swiftUi でのログイン画面の問題は、ViewController に移動します

SwiftUIでログイン画面を作成しました。(電子メールとパスワードの検証後) ログイン ボタンを押すと、ViewController に移動します。

ログイン状態はuserDefaultブール値で保存され、後でアプリが再起動されたときに使用されます。ではSceneDelegateuserDefaultがチェックされています。 の場合true、メイン画面が表示されます。それ以外の場合は、ログイン画面が表示されます。

View Controllerで、itemBar押されたときにログイン画面に戻るログアウトボタンを作成しました。

上記のロジックを実装することができました。この問題は、ログインに成功し、シミュレーターでアプリを閉じて再度開くと発生します。ログアウト バーの項目を押しても、アプリが応答せず、ログイン画面に戻りません。

Coordinator パターンを使用しようとしましたが成功しませんでした。どんな助けでも大歓迎です!

0 投票する
1 に答える
505 参照

swift - SwiftUI で @State と fullScreenCover を使用してビューを切り替える方法

SwiftUI で @State と fullScreenCover を使用してビューを切り替える方法を理解しようとしています。

メイン ビューと 2 つの単純なビュー (View1およびView2) があります。View1ボタンのタップ時"Show view 1"、およびボタンView2の入力時に開く必要があり"Show view 2"ます。@Stateまた、これが機能するように 2 つの変数を作成し、 .View1( ActiveFullscreenviewenum)で初期化しました。

問題は、ボタンView1をタップしても常に表示されることです。Show view 2ボタンをタップしてactiveFullscreenView変数に値を与えると、.View2変数が変更されてfullScreenView.

を呼び出してshowFullscreenView変数を変更したためだと思いましたが、その後デフォルト値が.View1変更されなかったので変更しませんでした。

これも試しました:

2 番目の仮定は、この変数に初期値を与えるべきではないということでした。ただし、この場合、便利ではない追加の初期化コードが追加されます。

現在、説明されている問題がある次のコードがあります。

問題の解決に関連するヘルプをいただければ幸いです。fullscreenCover を使用して個別のビューを表示するのと同じ結果を得る方法についての便利な方法は高く評価されています。

Xcode 12.4、最新の iOS 14 での作業

0 投票する
1 に答える
335 参照

swift - SwiftUI -> スレッド 1: 致命的なエラー: ModelData 型の ObservableObject が見つかりません

SwiftUI でアプリを作成しましたが、ボタンを表示しようとすると、次のエラー メッセージが表示されます。

これ@EnvironmentObjectは、アプリのビューの 1 つを表示しようとするときに を使用しようとすると発生します。

私のコードは

ただし、ビューのプレビューとライブ プレビューは正常に機能します。

環境オブジェクトをどこかに渡す必要があることはわかっていますが、方法がわかりません。誰の助けにも感謝します。

0 投票する
0 に答える
710 参照

ios - ビューの誤動作を却下するための @Environment(\.presentationMode) を持つ SwiftUI

@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>次のようないくつかのロジックに関連する公開された値に基づいて、カスタムの却下アクションのビューがあります。

このビューには、シートを表示する別のオプションもあります

ここでの問題は、@Environment(\.presentationMode)2QRCodeScannerView回初期化されたときに、presentationMode を削除すると正常に動作することです。


更新 テストプロジェクトで同じ動作を試しましたが、同じです

同じ問題があります

スクリーンショット