【问题标题】:Show initial view every time the app launches每次应用启动时显示初始视图
【发布时间】:2012-05-08 19:13:11
【问题描述】:

出于安全原因,我需要用户在每次打开我的应用程序时登录。我想做的是当应用程序即将关闭时将其重置为初始视图。我从视图控制器知道我可以使用以下代码:

[[self navigationController] popToRootViewControllerAnimated:NO];

我不确定如何调整它以适应应用委托的工作。

在初始视图中,我将其设置为在 viewDidLoad 上显示登录模式。这似乎只是第一次触发,而不是在使用后退按钮时在应用程序中触发,所以我希望我可以安全地使用这种方法来显示登录屏幕。

为了澄清,我知道我将在应用委托中执行此操作,我正在寻找可用于告诉应用重置视图的特定代码。

【问题讨论】:

    标签: ios ios5 uiapplicationdelegate


    【解决方案1】:

    解决此问题的一个简单方法是阻止您的应用在后台运行。当用户关闭它时,这将完全关闭您的应用程序。

    我相信要做到这一点,您只需转到项目的 info.plist 并检查“应用程序不在后台运行”为“是”。

    祝你好运!希望对您有所帮助。

    【讨论】:

    • 我认为这可能是我最好的选择,但在 iOS 5 中我没有看到 info.plist,我只是添加一个还是隐藏了?
    • 它在 Xcode 中的“支持文件”文件夹中,通常命名为 ProjectName-Info.plist。此外,您可能必须添加“应用程序不在后台运行” - 为此单击随机条目,您会看到一个小的“+”和“-”符号,如果您单击加号,它可以让您添加一个新条目。
    【解决方案2】:

    在您的 AppDelegate.m 中,您可以使用以下委托方法:

    -(void)applicationWillResignActive: (UIApplication*)application
    

    在此处查看其他 UIApplicationDelegate 方法,找出最适合您的应用的方法:

    http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html


    编辑:

    我完成此操作的一种方法是使用委托方法-(void)applicationDidBecomeActive:(UIApplication *)application 来显示您的登录界面,其他地方尚未这样做。

    当用户从头开始打开应用程序时,或者如果从后台恢复,或者如果在 iOS5 上,如果他们在您的应用程序中并且他们与可拖动状态栏交互然后关闭,则始终会调用此方法再来一次,这个方法会被击中。我认为这可能是要求他们登录的最佳时机。

    我不确定您是否希望用户能够在他们所在的屏幕上恢复,因此您需要决定是否在应用进入后台时将其注销。 (再次查看应用程序委托类参考,或查看您的应用程序委托方法文件)

    【讨论】:

    • 看我上面的澄清,我知道我在那里做,我正在寻找如何做。
    • 很遗憾,他们无法从上次中断的地方开始,他们将始终从初始视图开始。
    【解决方案3】:

    您可以将其设置为在您的AppDelegate 中显示某些视图。

    applicationDidBecomeActive:

    【讨论】:

    • 看我上面的澄清,我知道我在那里做,我正在寻找如何做。
    【解决方案4】:
        - (void)applicationDidBecomeActive:(UIApplication *)application
        {
            UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
            [navController popToRootViewControllerAnimated:NO];
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2014-05-07
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多