在Master-Detail模板中调用View控制器

时间:2014-02-05 14:12:58

标签: ios objective-c master-detail

我在故事板中调用新创建的视图控制器时遇到问题。我使用默认的主从模板创建了一个应用程序。我想做的唯一简单的事情就是在特定检查有效/无效时调用新的View Controller窗口(取决于要求)(我拒绝使用术语“登录”:-))。

这样做的最佳位置是什么?在这里(appDelegate)?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
    UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
    UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
    splitViewController.delegate = (id)navigationController.topViewController;

    UINavigationController *masterNavigationController = splitViewController.viewControllers[0];
    MasterViewController *controller = (MasterViewController *)masterNavigationController.topViewController;
    controller.managedObjectContext = self.managedObjectContext;
} else {
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
    MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
    controller.managedObjectContext = self.managedObjectContext;
}
//Should I call the new view controller object from my storyboard at this location? (i.e. myView)

return YES;
}

我甚至考虑在不使用Xcode模板的情况下重新开始。

1 个答案:

答案 0 :(得分:0)

根据检查结果,您是否需要使用不同的控制器? 如果是,那么建议很少。您可以使用覆盖所有屏幕的活动视图覆盖视图,等待检查,然后删除活动视图。 您可以尝试的另一件事是在故事板中创建另一个视图控制器并将起始箭头移动到它。您可以尝试登录并在执行正确的segue之后。 至少我可以建议以编程方式创建根视图控制器。

像这样的事情。

 - (void)applicationDidFinishLaunching:(UIApplication *)application {
   UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   levelViewController = [[LevelViewController alloc] init];
   window.rootViewController = levelViewController;
   [window makeKeyAndVisible];
   }