UIWindowとUIViewのaddSubview質問
-
12-09-2019 - |
質問
addSubviewメソッドは、実際にアプリケーションかどうかにビューをロードしていますか?私は自分のアプリケーションに2つの2のビューを持っているので、私は求めています理由があります。アプリケーションデリゲートは、サブビューとして二つのビューを追加し、アップフロントビューのいずれかをもたらします。今、私は、各ビューのためのviewDidLoadメソッドの各print文を持っています。私は、アプリケーションを実行すると、アプリケーションデリゲートは、サブビューとしてビューをロードし、各ビューがロードされるように、私は実際に私がのviewDidLoadメソッドのそれぞれに配置された文のうち、コンソールの印刷を参照してください。これは、これを行うことになっていますか?
解決
のviewDidLoadは、実際のUIViewControllerの方法ではないのUIViewです。ビューが(あなたのinitメソッドの後に、しかしawakeFromNib前)にメモリ上にロードされる後に呼び出されます。あなたはそのaddSubviewに気付くでしょう:パラメータとしてのUIViewをとり、そのビューが別のビューに追加するビューのためにロードされている必要があります。そうしないとあなたが想像ビューを追加しようとしていることと思います。
あなたの質問への答えは、はい、それは、これを行うことになっています。あなたがaddSubview前のviewDidLoadが長いと呼ばれています。あなたがaddSubviewを取る場合は実際には、:行を(あなたは、ビューのコントローラを作成しているため)、あなたはそれがまだ呼ばなってきていることに気づくでしょう。
。他のヒント
私の理解では、ビューは遅延ロードされているということです。あなたのViewControllerは10ビューを持っている場合は、あなたが実際にそれらにアクセスしようとするまで、彼らはすべてのロードされません。