2012-01-15 1 views
0

をロードしない:奇妙なロードは/私はアプリのメインのViewControllerののviewDidLoadでのコード行を使用すると、それだけで完全に無視なっているのViewController

[self presentModalViewController:nextController animated:YES]; 

nextControlerがロードされない、全く何も起こりません。 NSLogを前後に配置してブレークポイントを持つプログラムを実行したので、コードが実行されていることはわかります。

私はこの行をコード内の他の場所で呼び出すと、期待通りに動作しますが、viewDidLoadでは無視されます。メインビューが透けよう

[self.view addSubview:nextController.view]; 

これは私のメインビューの上にnextControllerビューをロードしているが、それの一部が透明である:

は、だから私はどんな違いがあるでしょうかどうかを確認するために、このコードを試してみました私がnextControllerのボタンをクリックしようとすると、実際にはその下のメインビューにあるボタンを押すとNSLogが表示されます。

ここで何が起こっているのでしょうか? ありがとうございます!

+1

このコードを 'viewWillAppear'に入れてください – beryllium

答えて

1

viewDidLoadは、ビューコントローラがビューコントローラ階層に挿入される前に呼び出されます。そのため、現時点でモーダルビューコントローラを表示する方法がわかりません。コードをviewDidAppear:に移動してみてください。

+0

うわー - ありがとう!以前はviewDidAppearを使ったことが一度もありませんし、問題は一度もありませんでしたが、これは魅力的でした。再度、感謝します! – RanLearns

関連する問題