• 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了!!!!!
  • 相关阅读:
    Nginx负载均衡
    MySQL主从复制
    笔记
    tomcat工作原理
    Nginx工作原理
    Loj#6183. 看无可看
    [BZOJ 2759] 一个动态树好题
    5255 -- 【FJOI2016】神秘数
    [NOI2015]寿司晚宴
    [CQOI2017]老C的键盘
  • 原文地址:https://www.cnblogs.com/10-19-92/p/5178739.html
Copyright © 2020-2023  润新知