问题:在做手势密码的时候,发现程序挂起和程序进入后台不太一样,研究appdelegate方法解决问题:,有时候是只从后台进入前台输入,有时候是点击通知栏也要输入。
AppDelegate方法介绍
-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization afterapplication launch.
return YES;
}
这个方法是应用程序启动时候的方法,此后不管是进入后台(深度挂起),还是简单挂起都不影响
- (void)applicationWillResignActive:(UIApplication*)application {
- 这个是应用程序失去活力,也就是挂起
}
-(void)applicationDidEnterBackground:(UIApplication *)application {
这个是应用程序进入到后台
}
-(void)applicationWillEnterForeground:(UIApplication *)application {
这个是应用程序进入到前台
}
-(void)applicationDidBecomeActive:(UIApplication *)application {
这个是应用程序恢复活力的时候
}
-(void)applicationWillTerminate:(UIApplication *)application {
这个是应用程序结束,要销毁的时候调用
}
在实际使用中,有几种情况调用方法如下:
1.应用程序启动,调用方法顺序
(1)-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
(2) -(void)applicationDidBecomeActive:(UIApplication *)application {
}
2.应用程序进入到后台
(1)(void)applicationWillResignActive:(UIApplication*)application {
}
(2)-(void)applicationDidEnterBackground:(UIApplication *)application {
}
3.应用程序进入到前台
(1)-(void)applicationWillEnterForeground:(UIApplication *)application {
这个是应用程序进入到前台
}
(2)-(void)applicationDidBecomeActive:(UIApplication *)application {
}
4.应用程序没有进入到后台,但此时查看通知栏或者有电话进来
暂停应用程序
(1)(void)applicationWillResignActive:(UIApplication*)application {
}
返回的时候调用
(2)-(void)applicationDidBecomeActive:(UIApplication *)application {
}
在做手势密码的时候,4的情况比2,3的更灵活。建议使用2,3方法