【问题标题】:Change initial view controller after first launch of app首次启动应用程序后更改初始视图控制器
【发布时间】:2013-05-02 01:40:42
【问题描述】:

我的应用程序有两个视图登录,用户可以在其中输入两个视图的信息。用户输入该信息后,我想更改哪个视图是初始视图控制器,并使登录视图成为类似设置的页面。

如何在用户通过应用中的某个点后更改初始视图控制器?

【问题讨论】:

    标签: iphone ios appdelegate


    【解决方案1】:

    对于我的一个应用程序,我做了类似的事情,我让我的“主”视图控制器在 viewDidLoad 上检查默认设置中的一个设置,该设置将指示用户是否已登录。如果他们没有,我立即推送了没有动画的 loginViewController,并且用户填写了相应的表单。当它被解除时,我在我的主视图控制器中重新加载了视图。

    我的客户喜欢这款应用,而且它看起来不错。

    【讨论】:

      【解决方案2】:

      如果用户已经“通过了某个点”,那么您更改的内容就不能是“初始”视图控制器,可以吗? “初始”视图控制器是启动时显示的视图控制器。

      您的意思是希望在后续启动时首先出现不同的视图?然后在 NSUserDefaults 中写入一些内容,您可以在后续启动时检查这些内容,以便您可以使用不同的 window.rootViewController?在你的应用代理的applicationDidFinishLaunching 中像这样(更改所有名称):

      if ([[NSUserDefaults standardDefaults] valueForKey: @"loginDone"])
          self.window.rootViewController = 
              [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]
                  instantiateViewControllerWithIdentifier:@"secondVC"];
      

      或者你的意思是你只是想离开登录的东西然后再也不回来?然后使用呈现的视图控制器,永远不要关闭它。

      【讨论】:

      • 感谢您的回答。我正在使用故事板。 Xcode 提供了一个选项,让我可以简单地选中显示is "initial view controller" 的框。最初我假设这意味着这是每次启动时加载的初始 vc。我希望按照您在答案第二段中所说的去做,尽管不一定只针对“后续发布”,但我不知道要这样做,这是我的问题。我相信第三部分的建议。在用户杀死应用程序并运行应用程序的情况下将不起作用。再次。
      • 在我的答案中添加了代码,向您展示您可以做的事情。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多