久しぶりに苦労していたので、やっと答えを探すのを諦め、すぐに聞いてみることにしました。
私のアプリには、ユーザーログインページがあります。アプリには、アイテムにいくつかのNavigationControllerがあるTabBarViewControllerがあります。
私の最後の努力は、下の図のように、ログイン画面をNavigationBarControllerに埋め込み、それをInitialViewControllerにすることでした。
アプリの起動時に、ユーザーがLogInViewControllerにログインしている場合は、TabBarControllerに「セグエ」し、すべてが正常です。ユーザーがProfileViewControllerでログアウトすると、このViewControllerに最初のViewControllerへの「セグエ」のセグエがあります。
一方、ユーザーがログインしていない場合、LogInViewControllerはビューを表示して、ユーザーがユーザー名とパスワードを挿入できるようにします。クレデンシャルが正しい場合、LogInViewControllerはTabBarControllerに「セグエ」します。問題は、この時点で、アプリがまだ正常に機能している場合でも、次の警告が表示されることです。
警告:プレゼンテーションの進行中に、UINavigationController:0xa526370でTabBarViewController:0xa19a670を表示しようとしました。
したがって、これはこのすべてのログイン/ログアウトプロセスを処理するための最良の方法ではないと思います。
私の質問は、LogInScreenを階層のどこに配置する必要があるかということです。万が一、私のレイアウト/階層が正しい場合、警告を消すにはどうすればよいですか?