zoukankan      html  css  js  c++  java
  • iOS BUG: Unbalanced calls to begin/end appearance transitions for <XXXViewController: 0x7fcea3730650>.

    自定义TabBarController Push下一级Controller时 会报这样的错误:Unbalanced calls to begin/end appearance transitions for <XXXViewController: 0x7fcea3730650>.

    网上的一些回答,都说是动画引起的,解决方法就是,加一个BOOL型的变量,检查是否在做动画。

        if (transiting) {
            return;
        }
        transiting = YES;
        [self transitionFromViewController:_currentVC toViewController:newVC duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
            
        } completion:^(BOOL finished) {
            
            transiting = NO;
        }];

    这样就不会出现刚才说的那个bug了。 

    但是,这并没有解决我的问题!

    所以真正的答案是

    自定义了TabBarController 之后必须实现以下

    -(void)viewWillAppear:(BOOL)animated
    {
        [self.selectedViewController beginAppearanceTransition: YES animated: animated];
    }

    -(void) viewDidAppear:(BOOL)animated
    {
        [self.selectedViewController endAppearanceTransition];
    }

    -(void) viewWillDisappear:(BOOL)animated
    {
        [self.selectedViewController beginAppearanceTransition: NO animated: animated];
    }

    -(void) viewDidDisappear:(BOOL)animated
    {
        [self.selectedViewController endAppearanceTransition];

  • 相关阅读:
    python 函数嵌套
    python 函数对象
    python 函数参数
    python 连接MySQL报错及解决方案
    解决 No module named pip
    python 文件处理
    python
    python 元祖
    python 读取域名信息
    ubuntu 配置网卡,DNS, iptables
  • 原文地址:https://www.cnblogs.com/jukaiit/p/5661277.html
Copyright © 2011-2022 走看看