zoukankan      html  css  js  c++  java
  • iOS 7中使用UINavigationController进行pop崩溃

    最近在一个项目中遇到一种情况,push到一个界面,如果那个界面未请求到数据,则直接pop回去,然而使用 [self.navigationController popViewControllerAnimated:YES];在iOS6、8、9都没有问题,但是在iOS7中发生不能pop出去的情况,其实该pop出来的页面其实已经从navigation stack中pop出去了,但是UI的动画却没有及时结束,然后你又从已经不在navigation stack中的view,继续动画,然后你就会发现卡在那里了,再点击继而程序崩溃!
    那么你会想了,我把动画关掉 [self.navigationController popViewControllerAnimated:NO]; 然后。。。然并卵~
    既然崩溃的原因是view已经pop出去了,才进行UI的animate,那么我们何不做个延迟,等view的pop动作结束,然后再进行UI的动画呢?
     //延时执行动画
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [self.navigationController popViewControllerAnimated:YES];
      });
    这样就可以适配iOS7了!!!!!
  • 相关阅读:
    (剑指offer)斐波那契数列
    手写Vue源码 watch的实现
    Vue源码之异步批量任务更新
    手写Vue源码之 依赖收集
    C# 测试代码#if DEBUG使用
    shell脚本编程相关7
    C#中关于ref和out的认识
    shell脚本编程相关6
    shell脚本编程相关5
    shell脚本编程相关4
  • 原文地址:https://www.cnblogs.com/10-19-92/p/5178739.html
Copyright © 2011-2022 走看看