2017-05-10 4 views
0

私はSingleViewアプリケーションを作成し、ナビゲーションコントロールに「組み込みのナビゲーションコントローラ」を使用しました。 コントローラをプッシュするとき、ビューコントローラのbackgroundColorは黒です。なぜストーリーボードを使用するとViewControllerの黒い画面が表示される

私はこのコードを使用して知っている:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];//UIStoryboard(name: "Main", bundle:nil) 
UIViewController *roomController = [storyBoard instantiateViewControllerWithIdentifier:@"controlerID"]; 

をしかし、理由は何ですか? と私は完全にストーリーボードを使用したくない場合は、これだけのコード

UIViewController *roomController = [[UIViewController alloc]init]; 

私は何ができるのでしょうか? viewcontrollerのbackgroundColorのみが設定されていますか?

+0

を表示あなたはシーンであなたの 'controlerID'名を表示することができ –

+0

こののUIViewController * roomController = [[のUIViewControllerのallocを試してみてください] initWithNibName:@ "NibNa'me" bundle:nil] – KKRocks

+0

initを使って割り当てるだけでは、あなたのView Controllerは実際にインスタンス化されません。あなたはinitWithNibNameからそれを入手するか、ストーリーボード識別子 –

答えて

0

UIStoryboardインスタンスのinstantiateViewControllerWithIdentifier:メソッドを使用して、コントローラをプッシュする必要があります。

+0

私は本当に遅くreply.yesあなたが正しいことを申し訳ありません。しかし、新しいviewController is't UIStoryboardまたはxib.and私は理由を知りたいです。 – tongzhendelanman

0
UIStoryboard *storyboard =[UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *roomController = [storyboard instantiateViewControllerWithIdentifier:@"controlerID"]; 
[self.navigationController pushViewController: roomController animated:YES]; 

//あなたは変化よりもアウトストーリーボードとコントローラを作る場合は、色

UIViewController *roomController = [[UIViewController alloc]init]; 
[self.navigationController pushViewController: roomController animated:YES]; 

- (void)viewDidLoad 
{ 
    self.view.backgroundColor =[UIColor whiteColor]; 
} 
+0

私は本当に遅れて返事して申し訳ありません。あなたが正しいです。あなたのようなこの問題に取り組んでいます。しかし、私は理由を知りたいだけです。 – tongzhendelanman

関連する問題