私はタブ付きのアプリケーションを作っています。それには、TabBarControllerと4つのViewControllerが付属しています。Swift 3 - 起動時に複数のViewControllerをロードする
デフォルトでは、起動時にFirstViewController
がロードされます。タブメニューから2番目のビューに切り替える前に、開始時にFirstViewController
とSecondViewController
の両方をロードしたいとします。私がこれまで試したどのような
は、私は、カスタムMyTabBarController
クラスを作成し、ViewDidLoad()
に
var sv = SecondViewController()
sv.loadView()
を使用しようとしましたが、ストーリーボードから(私の推測)のMapView要素がなかったので、それは、ロード中に致命的なエラーの原因となったということですロードされる。
ストーリーボード要素を使用する2つのviewControllerを同時に読み込む正しい方法は何ですか?私の他のすべての試みは今まで成功していない。
secondViewController: UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourIdentifier") as! SecondViewController
それだ:
UITabBarControllerをプログラムで作成していますか?そうであれば、それぞれのView Controllerをプログラムで作成し、タブバーコントローラの 'viewControllers'プロパティに割り当てることができます。しかし、これは典型的なデザインパターンではありません。なぜあなたはこれをやろうとしているのですか?性能上の理由から(遅延を避けるために第2のコントローラをプリロードする)か? –
ええと、あなたの質問が正しくなったら、私はストーリーボードでTabBarControllerを作成し、次に 'MyTabBarController:UITabBarController'クラスを作成してそれをstoryboard要素に割り当てました。私はそれが必要だと思ったので、2つのView Controllerを一度に読み込むための手段としてのみ行った。なぜ私はそれらが同時にロードされている必要がある理由は、遅延を避けることです正確には –