zoukankan      html  css  js  c++  java
  • ios7 push pop 动画突然消失的解决方案

    不想看扯淡的同学,直接拉倒底部查看。。。。。。。。。。

    这几天开发的程序遇到了这样的问题。

    突然之前在ios7运行的程序全无动画效果。

    系统自带的push pop之类的也完全没有动画效果,就好像view直接add上去的一样。

    蛋疼。。。。

    查看了下代码。。

    完全不知道该如何下手了。

    怎么办。。

    百度 谷歌。。。

    关键字:ios7 动画效果消失

    出现如下界面。。。

    这他妈是什么啊。。。

    换谷歌。。

    谷歌还是比百度靠谱,但是点进去发现。这也只是跟我一样出现了这些现象提出来的问题,但是解决方案呢,where,你在哪里?

    难道是我的关键字不对。。

    继续换关键字。。。:ios7 pushviewcontroller 动画消失

    一一查看,咦,发现了一个有用的东西。

    发现有人说模态下有可能出现这个问题。说有可能把keywindow的rootviewcontroller变为空。。

    巧代码求证。。

    发现确实有问题。。当弹出alert时间,有可能把keywindow变为空。

    如何解决。。。

    继续搜索。。。

    又找到:地址:http://blog.woodbunny.com/post-126.html

    一般来说 [UIApplication sharedApplication].keyWindow.rootViewController 会在 appDelegate 中初始化,并且整个应用运行过程中都不会变。

    所以在很多地方需要用 presentModelViewController 方法时,用这个 rootViewController 是很方便的,因为它相当于一个全局变量,无需再申请、释放。

    但是本人在使用过程中发现有 rootViewController 被改为 nil 的情况。

    分析后发现,当 UIAlertView 调用 show 方法后,rootViewController 会被改为 nil,当它 dismiss 后又改回去。而我需要用户在点击 alertview 上的按钮后再做 presentModelViewController 的操作。

    解决方法:

    不要使用 alertview delegate 中的 

    - (void)alertView:clickedButtonAtIndex:

    方法

    而要用:

    - (void)alertView:diddismissWithButtonAtIndex:

    方法!

    按照这个大牛的方法去更改。

    血泪啊。。。改改改

    改完后,心情舒畅,应该没有问题了吧。

    好,运行app。

    弹框。。正常。

    哈哈哈

    好了。。。

    but,多点击几次以后,又出现了这个情况。靠。。

    继续找原因。

    以为还是这个keywindow出了问题。一直早这个方向寻找原因。。

    2天过去了。除了知道监测keywindow变化的知识外,一无所获。。。

    就在要放弃的时候,想到了用谷歌 english 去谷歌问题。。。

    我草啊

    我草啊

    啥也不说了  上图:

    点击进去:

    一句话,尼玛啊。就这一句话。。。。

    心情激动,按照这个去修改。

    运行app,正常。

    激动,忐忑,继续测试。

    正常,激动

    继续测试。

    正常。

    我草,这一刻的心情爽爆了。

    在下班时间依然在公司写下了以上文字。。。

    后续整理。。。。。。。

    先总结下出现这些问题的原因

    :个人理解,如有错误欢迎指正。

    就是在一个动画还没有完全结束的时间,你把它的父视图移除了。

    解决:大量的修改代码是不现实的,只能下次新开工程的时间去注意这些问题。最简单的方法。进入这个页面时间调用这行代码

    [UIView setAnimationsEnabled:YES];

    万事大吉,回家找媳妇去。。

    哈哈哈哈

  • 相关阅读:
    提问的智慧
    Linux下Tomcat的安装配置
    Advanced Puppet 系列的前言
    一个purge参数引发的惨案——从线上hbase数据被删事故说起
    从入门到精通Puppet的实践之路
    Juno Puppet Opertaors Meetup小结
    Openstack配置文件管理的变迁之路
    如何成为一名Top DevOps Engineer
    mod_wsgi的工作模式和配置
    解决PuppetDB Failed to submit 'replace facts'问题
  • 原文地址:https://www.cnblogs.com/yunis/p/4172365.html
Copyright © 2011-2022 走看看