2013-07-19 54 views
0

我想在按下視圖中的按鈕後以編程方式創建UISplitView。對於UISplitView,我有兩個視圖控制器,分別叫做MyTableViewControllerMyDetailViewController。這是我在按鈕的動作中所做的:DetailView不是在UISplitView中創建的

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(詳細視圖)不顯示。它只是黑色。儘管如此,第一個VC(表格視圖)顯示爲應該是。可能是什麼原因?

+0

您是否爲在筆尖或故事板中的詳細視圖控制器設置了界面? – architectpianist

+0

表格和詳細視圖界面都在故事板中,並且它們的類屬性分別被設置。 – knshn

+0

看一看使用'[self.storyboard instantiateViewControllerWithIdentifier:@「DetailViewIdentifier」]'或任何標識符你有詳細視圖,因爲'init'永遠不會問故事板的設置。 – architectpianist

回答

0

你應該看看使用[self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewIdentifier"],並在故事板中設置視圖控制器的標識符。在視圖控制器上調用init不會引用您創建的故事板,因此您需要將視圖控制器拉出故事板。表視圖工作,因爲它的佈局編程到UITableViewController類。