2009-09-01 11 views
0

MyController * myViewController = [[MyController alloc] initWithNibName:@ "myView" bundle:nil];UIViewControllerが初めて動作しません。

nibファイルmyView.nibには、2つのuiimageviewsと2つのuilabelsがあります。 myViewControllerを最初に起動すると、4つのサブビューはすべて0x0に設定されます。 2回目はこのような動作をしません。

答えて

0

NibファイルのビューをMyControllerのviewプロパティにフックアップしたり、サブビューをMyControllerのさまざまなIBOutletsに接続することを忘れていると思います。

+0

nibファイルのビューをView Controllerのビュープロパティにどのようにフックアップしますか? – Minar

3

viewオブジェクト自体は、self.viewで参照され、loadViewが呼び出されるまで作成されません。最初にビューを検査したり、何かを実行しようとすると、これはまだ起こっていない可能性があります。また、別のビューまたはナビゲーションコントローラに追加する場合は、システムがビューを作成した後でも何か。

0

ケブラーはまったく正しいです。あなたは、ロードビューを強制し、次の文を使用してすべての参照を設定することができます。

if (myViewController.view); 

あなたがコンセントにバインドされたすべてのサブビューを買ってあげる以外それは何もしません。

+0

このステートメントはどのように機能しますか?説明していただけますか? – Minar

+0

空文です。 myViewController.viewにアクセスすると自動的にビューが読み込まれ、それはトリックです。 –

+0

'[myViewController view];'は、コンパイル時エラーを引き起こさないので、望ましいかもしれません。 – mahboudz

関連する問題