2013-07-19 3 views
0

뷰에서 버튼을 누른 후 프로그래밍 방식으로 UISplitView를 만들려고합니다. UISplitView의 경우 MyTableViewControllerMyDetailViewController이라는 두 개의보기 컨트롤러가 있습니다. 이것은 내가 버튼의 동작에서하고있는 것입니다 :UISplitView에서 DetailView가 생성되지 않았습니다.

UISplitViewController* splitVC = [[UISplitViewController alloc] init]; 
MyTableViewController* firstVC = [[MyTableViewController alloc] init]; 
MyDetailViewController* secondVC = [[MyDetailViewController alloc] init]; 

UINavigationController *leftNavController = [[UINavigationController alloc] init]; 
[leftNavController pushViewController:firstVC animated:NO]; 

splitVC.viewControllers = [NSArray arrayWithObjects:leftNavController, secondVC, nil]; 

AppDelegate * appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegate.window setRootViewController:splitVC]; 

그러나 secondVC (상세보기)가 표시되지 않습니다. 그것은 단지 검은 색이다. 하지만 firstVC (테이블 뷰)가 있어야하는 것처럼 나타납니다. 그 이유는 무엇일까요?

+0

제발 또는 스토리 보드에서 상세보기 컨트롤러에 대한 인터페이스를 설정 했습니까? – architectpianist

+0

테이블과 상세보기 인터페이스는 모두 스토리 보드에 있고 클래스 속성은 각각 설정됩니다. – knshn

+0

'init.'이 스토리 보드에 설정을 요청하지 않기 때문에'[self.storyboard instantiateViewControllerWithIdentifier : @ "DetailViewIdentifier"]'또는 상세보기에 대한 식별자를 사용하십시오. – architectpianist

답변

0

[self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewIdentifier"]을 사용하고 스토리 보드에서보기 컨트롤러의 식별자를 설정해야합니다. 보기 컨트롤러에서 init을 호출하면 사용자가 만든 스토리 보드가 참조되지 않으므로 스토리 컨트롤러에서보기 컨트롤러를 당겨 꺼내야합니다. 레이아웃이 UITableViewController 클래스에 프로그래밍되어 있기 때문에 테이블보기가 작동했습니다.

관련 문제