
项目需求:
1、项目中加入手势密码
2、项目中添加紧急通知,如有紧急通知的话显示在页面。
分析:
手势密码是加载在UIWindow上的,而紧急通知的话显示出来最好的方式也是显示在window上,如果两个同时显示的话,会提示,会报找不到'Application windows are expected to have a root view controller at the end of application launch',说明没有找到rootView。
解决办法:
因为在编译的时候会提示编译错误,这里的解决方法是加一个标志位showWindows,目前用的userdefault,写成单例会更好,在启动
1、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{}中设置为no,
2、在手势密码输入验证之后设置为yes,同时发送一个通知
3、在要显示的控制器里面,注册通知,收到通知时,执行方法判断标志位的值,为yes时,判断有没有值要显示
4、当程序进入后台的时候,- (void)applicationDidEnterBackground:(UIApplication *)application{},设置为no,本地保存了标志位,如果不处理,下次从后台直接为yes,引起冲突。
网友评论