0

我正在以编程方式为 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 我必须手动编写代码?而且手动编写真的很难我已经在情节提要中完成了所有操作

谢谢你。

4

1 回答 1

0

不需要masterViewController.detailViewController = detailViewController;,而是使用self.splitViewController.viewControllers = [NSArray arrayWithObjects: masterNavigationController, detailNavigationController,nil];

于 2013-04-18T09:55:42.467 回答