每次应用启动时都会显示初始视图

时间:2012-05-08 19:13:11

标签: ios ios5 uiapplicationdelegate

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

[[self navigationController] popToRootViewControllerAnimated:NO];

我不确定如何使其适应app app delegate。

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

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

4 个答案:

答案 0 :(得分:2)

一个简单的解决方案可能是阻止您的应用在后台运行。这将在用户关闭时完全关闭您的应用。

我相信这样做你只需要去项目的info.plist并选中“应用程序不在后台运行”即可。

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

答案 1 :(得分:1)

在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上,例如,如果它们在您的应用程序中,并且它们与可拖动状态栏交互,然后关闭,则始终会调用此方法再次,这个方法将被击中。我想这可能是要求他们登录的最佳时机。

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

答案 2 :(得分:0)

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

查看applicationDidBecomeActive:

答案 3 :(得分:0)

    - (void)applicationDidBecomeActive:(UIApplication *)application
    {
        UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
        [navController popToRootViewControllerAnimated:NO];
    }