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

网络配图

项目需求:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • “自媒体时代,文案是第一生产力!” --上海滩六哥 文案的练习从手抄开始。 一个人的自动自发,是她人生中具有成功者...
    陆震宇阅读 444评论 0 0
  • 今天一天都很难过。如果说上班时老同事的生日问好让我有难过。那难过只有5级。最难过的开端是早上公交上曹亚伟给我发的微...
    毛欣与小李阅读 411评论 1 0
  • 一提到自己在家做饭,我们都会觉得实惠又卫生。宴请宾客的时候也常自谦,“没有饭店的好吃,但胜在食材新鲜、放心。”大部...
    花渐醒阅读 323评论 0 0
  • 有的时候,我会在心里偷着乐,想想身边有这么一些可爱出色的同事,自己真的特别幸运。 今天说的是小马。 三年前,小马从...
    小easy阅读 342评论 4 1