0

我看过几个例子,但我还没有让事情正常工作。我在一个通用应用程序的大型代码库中。我正在引入一个 .xib,如下所示:

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

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

这在 iPhone 端加载 .xib 就好了,但在 iPad sim 中,.xib 覆盖了整个屏幕。我怎样才能让它只覆盖细节视图?我知道在 appdelegate 中它创建了两个视图控制器(即 splitviewcontroller),但我没有选择做类似的事情

[detailViewController presentViewController:newView animated:YES completion:nil];
4

1 回答 1

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];
}
于 2013-07-09T18:53:50.600 回答