美文网首页
项目总结八:项目中UIWindow冲突的解决

项目总结八:项目中UIWindow冲突的解决

作者: 小霍同学 | 来源:发表于2017-06-29 11:35 被阅读17次
    网络配图

    项目需求:

    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,引起冲突。

    相关文章

      网友评论

          本文标题:项目总结八:项目中UIWindow冲突的解决

          本文链接:https://www.haomeiwen.com/subject/lxcmcxtx.html