仅在主视图设计中的详细视图中引入.xib

时间:2013-07-09 18:38:45

标签: ios objective-c master-detail

我已经看了几个例子,但我还没能让事情正常运转。我是一个庞大的代码库,是一个通用的应用程序。我带来了像这样的.xib:

TestView *newView =
[[TestView alloc] init];

[self presentViewController:newView animated:YES completion:nil];

在iPhone方面加载.xib就好了,但在iPad中,.xib覆盖整个屏幕。如何才能使其仅涵盖详细信息视图?据我所知,在appdelegate中它有两个视图控制器(即splitviewcontroller),但是我没有选择做像

这样的事情。
[detailViewController presentViewController:newView animated:YES completion:nil];

1 个答案:

答案 0 :(得分:0)

您必须在AppDelegate中创建UISplitViewController的实例。 UISplitViewController仅在iPad上可用,因此您必须将其包含在if语句中

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
    UIViewController *master = [self buildMaster];
    UIViewController *detail = [self buildDetail];
    UISplitViewController *splitViewController = [[UISplitViewController alloc] init];
    splitViewController.viewControllers = @[master, detail];
    [self.window setRootViewController:splitViewController];
}