2017-05-10 1 views
0

단일보기 응용 프로그램을 만든 다음 "내비게이션 컨트롤러에 포함"을 사용하여 탐색 컨트롤을 얻습니다. 컨트롤러를 밀 때 viewcontroller의 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

* roomController = [[UIViewController에 ALLOC이있는 UIViewController 시도 ] initWithNibName : @ "NibNa'me"bundle : nil] – KKRocks

+0

init으로 할당하는 것만으로는 뷰 컨트롤러를 실제로 인스턴스화하지 않습니다. initWithNibName에서 가져 오거나 스토리 보드 식별자 –

답변

0

UIStoryboard 인스턴스의 instantiateViewControllerWithIdentifier : 방법을 사용해야하며 컨트롤러를 누를 수 있습니다.

+0

늦게 답장을해서 정말 유감입니다. 네 말이 맞아.하지만 새로운 viewController는 UIStoryboard 또는 xib가 아니야. 그 이유를 알고 싶을 뿐이야. – 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