2013-07-01 39 views
1

我正在寻找一种方法来更改故事板内的开始视图。我有两种不同的观点,一种是教程,另一种是应用程序本身。我想在第一次加载应用程序时加载教程,下次它应该只是应用程序本身。我怎样才能用代码做到这一点?更改故事板中的开始视图

+0

你尝试过什么看法个 2.click?快速谷歌搜索已经给了我几个答案。 [试试这个以前的问题](http://stackoverflow.com/questions/8451975/conditionally-start-at-different-places-in-storyboard-from-appdelegate),但跳到10月'12的答案。 – Dan

回答

1

检查这些链接杉第一次应用程序启动First iPhone LaunchFirst Launch

当U找到应用程序正在启动第一次负载或推UR教程其他的ViewController加载默认的浏览器按照乌拉圭回合的需要。

2

你想从一个nibfile或AppDelegate中做它吗?

在第一种情况下,只需检查标志“是初始视图控制器”。

The flag in the nib file to check

第二

,你必须把你的控制器RootViewController的,就像这样:

- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)options{ 


    UINavigationController *navController = (UINavigationController *)self.window.rootViewController; 
    MenuViewController *menu = [navController.storyboard instantiateViewControllerWithIdentifier:@"MenuController"]; 
    CustomViewController *custom = [navController.storyboard instantiateViewControllerWithIdentifier:@"CustomController"]; 

    // First item in array is bottom of stack, last item is top. 
    navController.viewControllers = [NSArray arrayWithObjects:menu, custom, nil]; 

    [self.window makeKeyAndVisible]; 

    return YES; 
} 
1

一种方法用更少的代码做的是创建第三个视图控制器,把它根视图,这将永远是第一个加载,然后在这个视图内,你检查

哪个视图加载下一个教程或应用程序视图。

给每个观看故事板ID

呼叫教程视图:@"tutorialMainView" 和应用程序视图:@"appMainView"

从根视图内

然后,可以如下加载:

NSString *viewName = @"tutorialMainView"; 
UIViewController *tempView = [[UIStoryboard storyboardWithName:@"my_storyboard" bundle:nil] instantiateViewControllerWithIdentifier:viewName]; 

这取决于你以后要做什么,或者推它,或者让它取代当前的rootView(我建议将它设置为新的rootViewController)

0

1.Go到故事情节上你想第一 看看这张图,并设置初始控制器,因为它是在图像Storyboard snapshot