Objective c iOS 5情节提要,以编程方式确定路径

Objective c iOS 5情节提要,以编程方式确定路径,objective-c,ios5,storyboard,Objective C,Ios5,Storyboard,我无法使用故事板实现以下目标: 设置未完成时: 运行应用程序->显示设置视图控制器->显示主导航控制器 安装完成后: 运行应用程序->显示主导航控制器 因此,基本上,在某些情况下,我希望应用程序以编程方式从settings视图开始,否则直接跳到主导航控制器 我确实使用主导航控制器中的模式样式segue显示了settings视图,但在显示主导航控制器之前,我不知道如何显示它。有什么想法吗?默认情况下,主情节提要中的初始视图控制器会在应用程序启动时自动实例化和显示。要防止这种情况发生,您需要从inf

我无法使用故事板实现以下目标:

设置未完成时: 运行应用程序->显示设置视图控制器->显示主导航控制器 安装完成后: 运行应用程序->显示主导航控制器

因此,基本上,在某些情况下,我希望应用程序以编程方式从settings视图开始,否则直接跳到主导航控制器


我确实使用主导航控制器中的模式样式segue显示了settings视图,但在显示主导航控制器之前,我不知道如何显示它。有什么想法吗?

默认情况下,主情节提要中的初始视图控制器会在应用程序启动时自动实例化和显示。要防止这种情况发生,您需要从info.plist文件中删除
UIMainStoryboardFile
设置


由于没有默认的视图控制器,您现在可以在应用程序启动时以编程方式自由创建一个视图控制器。看。使用名为bundle:的
+情节提要加载情节提要,然后使用
–instantialeviewController标识符:
创建正确的视图控制器。您还需要创建一个主UI窗口,并将视图控制器的视图添加到其中,就像您以前使用基于.nib的UI一样。请注意,如果没有
UIMainStoryboardFile
设置,则不会为您创建主窗口-请阅读。

我设法做了一些不同的事情:

  • 使用
    UINavigationController
    作为初始视图控制器
  • 创建一个根视图控制器,该控制器将管理加载内容的决策
  • 创建从根视图控制器到主视图和设置视图的情节提要分段,并为分段提供适当的标识符
  • 使用根视图控制器中的正确标识符调用
    performsguewithidentifier

  • 这只是另一个解决方案,希望能有所帮助。

    我做了一些类似于阿莫沙维夫的事情,他的建议是合理的。不过我做的有点不同,我会提供更多信息。 我创建了一个自定义MyInitialViewController类,该类派生自UIViewController,并将其作为初始视图控制器。 在故事板文件中,我为所有(在我的例子中是三个)可能的“真实”第一视图控制器创建了具有适当名称的模态分段。 在MyInitialViewController类中,我实现了

    - (void)viewDidAppear:(BOOL)animated;
    
    方法,首先执行切换到哪个视图的检查,然后执行正确的操作

    [self performSegueWithIdentifier:@"NameOfSegue" sender:self];
    
    实际上,这使得MyInitialViewController只不过是在进入视图时执行的一个切换。我第一次尝试在加载时这样做是因为我不想实际看到这个视图,但这不起作用,而ViewDidEmbeen确实起作用


    为了使这看起来平滑,我尝试了以下方法。在序列的属性中,我禁用了动画。我留下的视图是空的,我给了它一个与启动图像相匹配的背景色

    谢谢,从info.plist中删除情节提要成功了!如何创建主
    ui窗口
    ?这是解决我觉得问题的更好、更简单的方法,这似乎是一个更好的解决方案。我已经更改了接受的答案。我认为如果您在应用程序中使用拆分视图控制器,这将不起作用-拆分视图控制器需要是初始根目录。主/设置视图控制器上是否会有一个返回按钮,这将导致空视图控制器?