2017-05-10 8 views
0

を推奨され、私は、プログラムのViewControllerを提示しようとしている:のiOS:取り外したビューコントローラにビューコントローラを提示presentViewControllerエラーが

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NewViewController *vc = [[NewViewController alloc] init]; 
    [self presentViewController:vc animated:YES completion:nil]; 
} 

をしかし、私はこのエラーを取得しています:

Presenting view controllers on detached view controllers is discouraged 

も私はiPhone上で黒い画面を取得しています。私はこのエラーを取得していますし、また、なぜ私は、黒い画面を得ている理由をどれOあなたが知っている

enter image description here

これが私のストーリーボードとiPhoneがどのように見えるかですか?

本当にありがとうございます。

答えて

0

ビューコントローラをviewDidLoadに表示しようとしています。このメソッドは、View Controllerのビューがストーリーボードからロードされているときに呼び出されます。この時点では、View Controllerはまだ表示されていないので、はアプリケーションビューからにデタッチされています。

このエラーのために黒い画面が表示されることがあります。

viewDidLoadpresentViewControllerを呼び出さないようにこの問題を解決するには、ビューが表示された後で後で呼び出します。たとえば、ビューコントローラのviewDidAppearメソッドで呼び出すことができます。

+0

viewDidApperに変更してもエラーはなく、まだ黒い画面が表示されています。理由の任意のアイデア? – user2924482

+0

ビューデバッガに表示されている内容を確認しましたか? 'NewViewController'の関連するメソッドにブレークポイントを追加して、正しく表示されたかどうか確認しましたか? – Nef10

+0

はい、すべてのメソッドが呼び出されました。 viewWillAppear、viewDidLoad、およびviewDidAppearです。しかし、画面は黒色です – user2924482

関連する問題