我的应用程序中有密码选项,因此如果用户设置了密码,那么当应用程序变为活动状态时我会首先显示密码页面,用户应该输入密码才能使用该应用程序
我用这种方式写了代码
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if([password length])
{
EnterPasswordViewController *passwordView = [[EnterPasswordViewController alloc] initWithNibName:@"EnterPasswordViewController" bundle:nil];
[self presentViewController:passwordView animated:YES completion:NULL];
}
}
这样可行,但问题是每当我进入应用程序时,我只是从顶部拖动通知并离开它,我看到的是applicationDidBecomeActive被称为,因此,密码页面再次显示,所以我不明白如何解决这个问题
此致 兰吉特。
答案 0 :(得分:2)
考虑在-applicationWillEnterForeground:方法中显示密码控制器。
仅当您的应用完全关闭(进入后台或设备已锁定)然后返回前台时才会调用willEnterForeground
当系统为您提供警报时,您当前正在使用的那个也会被调用,例如要求用户允许推送通知甚至是您的应用。
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Present password controller
}
或者,当您的应用进入后台时,您可以反转逻辑并显示它,而不是进入前景。