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];

  • 相关阅读:
    C#中判断为空
    ArcGIS中的AddIn开发示例
    当前不会命中断点,还没有加载该文档加载任何符号
    设置ArcGIS的外观改回到出厂
    读取Style符号库样式的方法
    ArcEngine中的缩放地图
    修改字段结构之GP工具
    修改字段结构之ArcGIS Diagrammer
    merage语句
    Windows下Redis的安装使用
  • 原文地址:https://www.cnblogs.com/jukaiit/p/5661277.html
Copyright © 2011-2022 走看看