我正在以编程方式为iPad实现一个拆分视图控制器。这是我在didFinishLaunching中使用的代码:
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
MasterViewController *masterViewController = [[MasterViewController alloc] init];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
DetailedNewsViewController *detailViewController = [[DetailedNewsViewController alloc] init];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
masterViewController.detailViewController = detailViewController;
self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController];
self.window.rootViewController = self.splitViewController;
[self.window makeKeyAndVisible];但当我运行这段代码时。MasterView显示正确,它是一个TableViewController。但是DetailView没有显示,它只是一个黑屏,我试着以编程方式编写DetailView中使用的变量,并将它们添加到视图中&它起作用了。
为什么对于MasterViewController,它直接从情节提要中获取代码,而对于DetailViewController,我必须手动编写代码?而且手动编写代码真的很难,我已经在情节提要中完成了所有工作
谢谢。
发布于 2013-04-18 17:55:42
不需要masterViewController.detailViewController = detailViewController;,而是使用self.splitViewController.viewControllers = [NSArray arrayWithObjects: masterNavigationController, detailNavigationController,nil];
https://stackoverflow.com/questions/16079693
复制相似问题