ストーリーボードには、インスペクタペインに「イニシャルビューコントローラはありますか?」というプロパティがあります。プログラムでこのプロパティにアクセスするにはどうすればよいですか?私はそれを変更したくない。私は、ビューコントローラが現在初期ビューコントローラであるかどうかをチェックしたいだけです。 AppDelegateで、View Controllerをルートビューコントローラにする条件を指定しました。いったん実際にルートビューコントローラになったら、ビューコントローラ自体からいくつかのコードを実行したい(ただし、ルートビューコントローラの場合のみ)。ですから、私はViewDidLoadメソッドからコードを実行するだけではありません。私は、ビューコントローラが最初にルートビューコントローラであるかどうかを確認したいのですが、もしそうなら、次にいくつかのコードを実行したいと思います。何か案は?View Controllerが初期View Controllerであるかどうかを確認するにはどうすればよいですか? (SWIFT 3)
0
A
答えて
1
ストーリーボードの初期表示コントローラーは、アプリケーションのルートビューコントローラーと同じではありません。たとえば、独自の初期View Controllerを持つ複数のストーリーボードがある場合があります。コードによっては、現在のrootViewControllerも変更されている可能性があり、アプリケーションから起動された初期View Controllerとは異なります。現在のビューコントローラは、ルートビューコントローラである場合
を確認するには、これを使用する:if self == UIApplication.shared.keyWindow?.rootViewController {
/*do stuff*/
}
は、しかし、あなたがこれを置く場所について注意してください。私はviewDillLoadではなく、viewWillAppearまたはviewDidAppearでチェックを行います。
+0
@FreddyBenson:これは正解です。あなたの質問に答えた場合は、それを正しい答えとして選択してください。 – mttdbrd
関連する問題
- 1. Table View Controllerのタイプを通常のView Controllerに変更するにはどうすればよいですか?
- 2. Table View Controllerを自分のView Controllerサブクラスに設定するにはどうすればよいですか?
- 3. View Controllerの配列内のView Controllerを解放するにはどうすればいいですか?
- 4. View Controllerに戻るにはどうすればいいですか?
- 5. Swift 3 View Controllerを表示
- 6. 他のView ControllerからView Controllerの詳細を含むView階層を取得するにはどうすればいいですか?
- 7. Swift 2のボタンからプログラムでView Controllerを開くにはどうすればよいですか?
- 8. View Controllerを再初期化する - iPhone
- 9. .swiftを変更してView ControllerではなくTable View Controllerに接続する
- 10. Swift 3 - 非同期ジョブ後にView Controllerを解除する
- 11. ベストプラクティス:View Controllerの読み込みに時間がかかる場合はどうすればよいですか?
- 12. 現在のView Controllerの実装ファイルから別のView Controllerをロードするにはどうすればよいですか?
- 13. Swift:ユーザーがTableviewセルをタップすると、あるView Controllerから別のView Controllerへデータをシフトする方法
- 14. App Delegateやその他のView Controllerから複数のView Controllerにアクセスするにはどうすればいいですか?
- 15. View Controllerからビューへのアウトレット接続を作成するにはどうすればよいですか?
- 16. 古いデバイス用に異なるView Controllerをロードするにはどうすればよいですか?
- 17. View ControllerからStoryboard Segueを作成するにはどうすればよいですか?
- 18. 別のView ControllerでView Controllerを起動する方法は?
- 19. 2番目のView Controllerを起動した後、親View Controllerを閉じるにはどうすればよいですか?
- 20. iOS開発で新しいView Controllerを切り替えるにはどうすればよいですか?
- 21. View Controllerとのタブバーアイテムの関係を変更するにはどうすればよいですか?
- 22. View ControllerでUITextViewを更新するにはどうすればよいですか?
- 23. 前のView Controllerでデータをリセットするにはどうすればよいですか?
- 24. View Controller階層でinterfaceOrientationプロパティを正しく設定するにはどうすればよいですか?
- 25. 複数のView Controllerでアレイを使用するにはどうすればよいですか?
- 26. 複数のView Controllerで1つのxibを使用するにはどうすればよいですか?
- 27. Swift 3:TabBarControllerからChild View Controllerにデータを渡す
- 28. 最後のView ControllerからRootView Controllerに戻すにはどうしたらいいですか?
- 29. modelの(json)値をView Controllerに送信するにはどうすればよいですか?
- 30. View Controller:ビューをプログラムで切り替えるにはどうすればよいですか?
私はあなたが本当に探しているのは、ストーリーボードの最初のVCとは関係なく、現在のrootViewControllerが何であるかをチェックする方法です。 – BJHStudios
ルートビューコントローラーのビューにタグを付け、その後にタグ/ビューを確認することができます。 – Dasem
@BJHStudiosええ、申し訳ありませんが、それは私が意味するものではありません。これらの2つの重要な違いが何であるかはわかりませんでしたが、初期ビューコントローラ(アプリが起動した後に最初に表示されるビューコントローラ)を確認する方法を探しています。 AppDelegate内のコードを変更する必要があるかもしれません。なぜなら私は自分のVCをrootViewControllerとして設定していますが、最初に表示される最初のVCとして設定するだけです。 –