更改主viewController

时间:2014-05-31 18:48:45

标签: ios objective-c

我正在使用多个viewcontrollers但需要更改首先加载的人。我找到了一些旧的提示,但那些关于.nib文件,我相信那些可能不是最新的。我希望在菜单中找到一些选项,因为我坦率地认为这应该非常简单。

首先加载使用viewController更改简单方法的任何想法吗?

5 个答案:

答案 0 :(得分:0)

您可以先通过AppDelegate以编程方式加载视图控制器。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.rootViewContoller = <firstViewControllerIWantToLaunch>;
    return YES;
}

这可以确保您首先要加载的视图控制器是根视图控制器,并且将是第一个显示的视图控制器。

答案 1 :(得分:0)

如果您正在使用情节提要,请选择您喜欢的视图控制器,然后搜索&#34;是初始视图控制器&#34;复选框。我无法告诉你它到底在哪里,因为我没有打开Xcode。

如果您正在使用xib,则需要在AppDelegate applicationDidFinishLaunchingWithOptions方法中更改它。 (请参阅布莱恩的答案。

答案 2 :(得分:0)

  • 打开故事板文件
  • 显示文档大纲
  • 选择您想成为第一个的视图控制器
  • 在“属性检查器”下,选择“是初始视图控制器”

答案 3 :(得分:0)

如果要以编程方式在两个视图控制器之间切换,请尝试做一些像这样的事情,      在你的AppDelegate.m文件中 - (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions ..方法

只是放置这个条件..

如果(loadFirstView){

    UINavigationController *navController = (UINavigationController       *)self.window.rootViewController;
    FirstViewController *menu = [navController.storyboard instantiateViewControllerWithIdentifier:@"FIrstVC"];


    navController.viewControllers = [NSArray arrayWithObjects:menu, nil];

    [self.window makeKeyAndVisible];

}else{
     UINavigationController *navController = (UINavigationController       *)self.window.rootViewController;
    SecondViewController *menu = [navController.storyboard instantiateViewControllerWithIdentifier:@"SecondVC"];


    navController.viewControllers = [NSArray arrayWithObjects:menu, nil];

    [self.window makeKeyAndVisible];
}

不要忘记在故事板文件中指定StoryboardIDentifiers“FirstVC”和“SecondVC”......这应该可以做到,它适用于我

答案 4 :(得分:0)

如前所述,您需要选择项目的主要故事板文件,选择主视图控制器,转到属性检查器,并选中复选框标题“是初始视图控制器”以使主视图控制器加载为第一个视图控制器应用程序启动时。

This should help